On Tue, Nov 13, 2001 at 12:21:48PM +0700, [EMAIL PROTECTED] wrote:
misalnya seperti aplikasi telnet, kalo dalam mode 'char', setiap satu
karakter yang diketik langsung dikirim jadi satu paket
pakai option TCP_NODELAY (disable nagle algorithm). tapi ini
meningkatkan trafik network.
trus ada
Yup, setuju.
Satu2nya cara yg. benar emang dengan cara pembufferan di client, trus
dari stream yg. diterima, dicari batas2 recordnya.
Cuman, btw, program di bawah ada bugnya tuh. Gimana kalau line-nya
nggak diterima lengkap? Gimana kalau dipindah idx=0 dari for() ke
sebelum while(1)?
jagad
Yup, setuju.
Satu2nya cara yg. benar emang dengan cara pembufferan di client, trus
dari stream yg. diterima, dicari batas2 recordnya.
Cuman, btw, program di bawah ada bugnya tuh. Gimana kalau line-nya
nggak diterima lengkap? Gimana kalau dipindah idx=0 dari for() ke
sebelum while(1)?
masalahnya sudah terjawab, pake writev() sama realloc()
thanks untuk rekan2 yang udah merespon: toto, Benny, Eko, Hadi, Yohanes,
adi, jagad, dan yang lainnya
Mestinya tidak, selama send() call dilakukan dalam 1 process
(thread) dan 1 socket, total buff1+buff2+buff3 tidak melebihi window
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
karena rada susah nanganin buffering diaplikasi jadi ngirimnya beberapa
kali
ada nggak option di socket
- Original Message -
From: [EMAIL PROTECTED]
[deleted]
nah ini yang susah, untuk menggabung string itu kan butuh buffer
karena programnya multithread, jadi nggak bisa sembarangan pake buffer
global process
trus lebih complicated lagi.. fungsi yang ngirim itu juga nunggu
input dari
Benny Prijono wrote:
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.
ralat:
ternyata di Linux writev() ada juga.
--
cheers,
Bennylp
--
Utk berhenti
On Fri, 9 Nov 2001 [EMAIL PROTECTED] wrote:
kalo malloc sendiri, karena nggak tau besar totalnya berapa, jadi harus
realloc terus setiap dapet data baru, takutnya nanti coredump :)
asal cara melakukannya benar, nggak akan core dump kok.
--
Salam
Yohanes
And this, too, shall pass away.
On Fri, Nov 09, 2001 at 04:39:51PM +, Benny Prijono wrote:
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.
ralat:
ternyata di Linux writev() ada juga.
On Fri, Nov 09, 2001 at 09:25:55AM +0700, [EMAIL PROTECTED] wrote:
send(sockfd, buff1, len1);
send(sockfd, buff2, len2);
send(sockfd, buff3, len3);
inikan nanti dikirim jadi 3 paket sendiri2
Mestinya tidak, selama send() call dilakukan dalam 1 process
(thread) dan 1 socket, total
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
karena rada susah nanganin buffering diaplikasi jadi ngirimnya beberapa
kali
ada nggak option di socket yang bisa
from linux shell)
-toto-
-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Friday, November 09, 2001 9:26 AM
To: [EMAIL PROTECTED]
Subject: [programming] socket: send: ngirim sekaligus
misalnya suatu program ngirim ke socket beberapa kali:
send(sockfd, buff1
pake IPC ?
-toto-
-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Friday, November 09, 2001 10:40 AM
To: [EMAIL PROTECTED]
Subject: RE: [programming] socket: send: ngirim sekaligus
nah ini yang susah, untuk menggabung string itu kan butuh buffer
karena
13 matches
Mail list logo