11584 tcpserver/linux 131760 tcpclient/OS X
On Sun, 2009-02-22 at 17:30 -0500, Martin Peach wrote: > I just tried with 2 machines having [tcpserver] (WinXP) repeatedly send > to [tcpclient] (Ubuntu) while I pulled out the cable from one machine. > The server keeps sending until it disconnects about a minute later with > message > "tcpserver: not a valid socket number (-1)" > The client however thinks it's still connected and I need to disconnect > before reconnecting to be able to resume communication. > So there's no crash there. i tested the same with different results. after having send 11584 bytes from [tcpserver] on ubuntu to [tcpclient] on OS X, that got disconnected from ethernet, the pd instance of [tcpserver] didn't respond anymore. after plugging in the ethernet cable again, the client on OS X did receive all data in one message after a few seconds. after this happened, the server responded again. the difference to your test was, that i sent all data (11584 bytes) in _less_ than a minute, so the server didn't print the message: "tcpserver: not a valid socket number (-1)" i also tested it the other way around: client (OS X) connects to server (linux) and then i plugged out the cable and started sending messages from the client to the server. the client pd instance stopped responding after having sent 131760 bytes. i don't know, if this difference comes from different buffer sizes on [tcpserver] and [tcpclient] or from different implementations on both OS'. however, also here: after a few seconds after plugging in the cable again, the server received the whole chunk as one message and the client started to respond again. > It's probably the buffer overflow. > Then I modified [tcpserver] to check if the socket is writeable first, > using select(). This causes messages to appear when the buffer overflows > instead of blocking at the send() call, but it doesn't close the socket. > I gave select a one second timeout, which should allow time for > zero-logical time multiple messages to get out. > Maybe you could try it (I just uploaded it to the svn at > http://pure-data.svn.sourceforge.net/viewvc/pure-data/trunk/externals/mrpeach/net/) > > and see if anything changes. cool! many thanks for your effort. i am happy to perform some further tests. roman ___________________________________________________________ Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: http://mail.yahoo.de
_______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
