[PD-dev] SIGPIPE on iemnet's tcpserver

Roman Haefeli reduzent at gmail.com
Wed Jul 3 00:32:10 CEST 2013


On Mit, 2013-07-03 at 00:16 +0200, Roman Haefeli wrote:

> > then I tried udpserver which doesn't work (at least the version in the
> > pd's SVN)
> > then I switch to tcpserver and I got a lots of troubles...
> 
> Things look good as long as you think you only need streams. As soon as
> you figure out that you need to send packets between your instances of
> Pd, things get really complex wit [tcpserver].

Have you also tried [maxlib/netserver]? It is the oldest of all and does
only send FUDI. For connecting many Pds together this might be the
easiest to use. 

It's actually quite stable since it isn't threaded, but it blocks Pd if
its buffer is full. This might not be an issue under normal
circumstances as the buffer should get emptied quickly for connections
on localhost. Problems arise when a client disappear without
disconnecting properly. [maxlib/netserver] wants to still send data to
such a vanished client and so the buffer is filled until it blocks Pd
and also the traffic for all other clients. If that happens, there is
nothing much you can do about but closing Pd.  This means your clients
must not crash and must not be closed without closing the connection.

Networking doesn't come for free in Pd.

Roman







More information about the Pd-dev mailing list