On 30 Mar 2020, at 22:22, IOhannes m zmölnig zmoelnig@iem.at wrote:
On 3/30/20 9:29 AM, Edwin van der Heide wrote:
My problem is that iemnet/tcpclient outputs the the received messages as bytes in individual messages instead of a list.
actually it's the other way round: mrpeach/tcpclient outputs the received messages as lists instead of bytes.
assuming that you get full messages over a stream-based protocol will sooner or later bite you¹. so, as roman said, the behaviour of iemnet is quite intentional.
in any case, you need to solve the problem of interleaved messages from multiple clients.
Yes you are right about iemnet/tcpclient vs mrpeach/tcpclient. And yes, I understand that solving the interleaved messages is important but that happens on the server side, not on the client side.
On 3/30/20 2:32 PM, Roman Haefeli wrote:
Tcpserver however does output the received messages as list.
Which one? [iemnet/tcpserver] does not, as far as I know. See above reasons.
actually it can be forced to do that. but you shouldn't.
famrds IOhannes
¹ i'm tempted to ask you to consider whether your crashes might actually be related to this. but then, most likely they are not.
I’m now even more sure that it is mrpeach/tcpclient that crashes. I’ve replaced it with iemnet/tcpclient and parse the bytes using [list store] (including some logic around it) and the crashes are gone on all platforms.
Best!
Edwin