[PD] pd-extended crashes sending data to SSR with tcpclient

Roman Haefeli reduzent at gmail.com
Tue Jul 2 22:13:36 CEST 2013


On Die, 2013-07-02 at 17:07 +0200, Matthias Geier wrote:
> Hi Iain.
> 
> To be honest, I didn't think about the problem that a message could
> need more than one packet.
> It's good to know that iemnet/tcpclient can handle that.

It's not that [iemnet/tcpclient] can handle it and [net/iemnet] can't.
In fact, with both you have to cook your own mechanism to delimit
packets for a packet oriented protocol. With [net/iemnet], however, you
have to serialize the data first in order to be able to do that. I see
two problems with [net/tcpclient]'s implementation:

 * you have to serialize the data anyway, so why doesn't the object
   already do it?

 * It gives you the false impression of dealing with packets when you in
   fact are dealing with a stream. It's dangerous because it often looks
   as if it would be working, but there is no guarantee it will always
   do. You may receive a packet split into many chunks, or you get a
   big chunk containing several packets. All those cases are valid from
   to POV of TCP, but will break your protocol unless you deploy proper
   delimiting.

Roman






More information about the Pd-list mailing list