[EMAIL PROTECTED] wrote:
> 
> misalnya suatu program ngirim ke socket beberapa kali:
> 
> send(sockfd, buff1, len1);
> send(sockfd, buff2, len2);
> send(sockfd, buff3, len3);
> 
> inikan nanti dikirim jadi 3 paket sendiri2

tergantung jenis socketnya.
Kalau UDP iya. Kalau TCP, belum tentu; satu send mungkin bisa dipecah
jadi dua atau lebih packet, atau dua send bisa jadi digabungin jadi
satu packet. 

> karena rada susah nanganin buffering diaplikasi jadi ngirimnya beberapa
> kali
> 
> ada nggak option di socket yang bisa nge-buffer dulu string yang dikirim
> biar nanti jadi cuma satu paket yang dikirim
> 

kalo TCP, nggak tau saya kalo kita bisa 'maksa' biar bbr. send() bisa
digabungin jadi satu packet. Setahu saya nggak ada, karena emang
karakteristik TCP ya seperti itu; dia cuman guarantee reliable dan
sequenced stream delivery, dimana definisi stream adalah byte (man
socket(2)), bukan packet.

kalo UDP, di BSD, kalau nggak salah ada fungsi writev(), dimana
parameternya adalah multiple buffer. Nanti multiple buffer ini bakalan
di concat dan dikirim sebagai satu packet.

-- 
cheers,
Bennylp

-- 
Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3

Kirim email ke