Re: TCP Socket Programming

2000-09-07 Thread guy keren
On Thu, 7 Sep 2000, Yaron Zabary wrote: 1. Why does TCP aggregate the first few records, and then "settle down" and behave as expected? Probably Nagle (take a look at RFC 896 'the small packet problem'). Try to disable Nagle on the senders (not sure this is possible). disabling NAGLE is

Re: TCP Socket Programming

2000-09-07 Thread Daniel Feiglin
1. It's not Nagle 2. Keren is right - Mostly. I did take care to have my client flush its output buffer after each write, so the server should have picked the same number of reads. After sending off my original query, I went for a long walk, and hit on the answer, which I just finished

Re: TCP Socket Programming

2000-09-07 Thread Dani Arbel
so just get the fourth (fifth, actualy) of Stevens: Unix socket programing . Dani On Thu, 7 Sep 2000, Daniel Feiglin wrote: 1. It's not Nagle 2. Keren is right - Mostly. I did take care to have my client flush its output buffer after each write, so the server should have picked the same

Re: TCP Socket Programming

2000-09-07 Thread Shachar Shemesh
The solution is quite simple: Have the Java client do a (blocking) read (of say, one byte) on the socket after sending the header. Have the server sent a single "sync" byte to the client immediately after opening the log file. And all works just fine. Bear in mind that this solution has the

Re: TCP Socket Programming

2000-09-07 Thread guy keren
On Thu, 7 Sep 2000, Daniel Feiglin wrote: 1. It's not Nagle what do you base this claim on? 2. Keren is right - Mostly. keren (or rather - guy) is right - fully. what you implemented below is a workaround that probably suited your specific requirements specifically. however, more comments

TCP Socket Programming

2000-09-06 Thread Daniel Feiglin
This programming problebm is not specific to Linux; it can be reproduced under Unix (e.g Solaris). Here is the scenario: I have a C++ server (a sort of logger, a bit like syslog) and many Java clients. Each Java client sends the server a text header record which I'll describe in a moment,

Re: TCP Socket Programming

2000-09-06 Thread guy keren
On Wed, 6 Sep 2000, Daniel Feiglin wrote: [... lots of data deleted...] When a client comes up, for some reason orother, the header and the first first few log records are aggregated by TCP, and appear on select() as a single read(). All subsequent client writes are picked up correctly. I