[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