Roman Haefeli wrote:
On Wed, 2009-03-04 at 08:08 +0900, PSPunch wrote:
The earlier sounds like to introduce massive overhead caused by TCP headers, especially when we are speak of sending amounts of data that may flood the socket's "send buffer." In the later case, the OS may indicate that bytes entered the socket, while they were actually only buffered while the connection breaks and was never sent.
if i interprete my observations correctly, this is not a big deal, since not every message sent to [tcpserver] will be transmitted in its own tcp frame. at least on my box (ubuntu 8.04), they are sent seperately, if there is at least a time interval of ~10ms between them. messages sent with shorter intervals are concatenated into one frame. said this, i have to add, that the above is only true, if the number of elements of a lists on the receiving side represent the framesize. for instance, when i plug out the ethernet cable and fill the buffer on the sender side, then plug the cable back in, i get one big list with ~5000 elements on the receiving side (don't try to print that one, it will hang pd)
TCP is supposed to use the Nagle algorithm, which sends the first byte as soon as it is put into the buffer, then sends everything in its buffer whenever the other end acknowledges the previous message. That's the most efficient way to use packets with things like telnet, where someone is typing live at the keyboard. The OS takes care of this and there is no way to control it except to switch it off and have every byte sent immediately.
Martin
roman
___________________________________________________________ Der fr?he Vogel f?ngt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: http://mail.yahoo.de
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list