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