Hello,

I have been looking into writing some external programs to send messages to pd via netreceive.

With netreceive in udp mode (-u), sending bytes not terminated by a newline does not generate anything at the outlet. By "sending bytes" I do not mean that I have netreceive in -b mode, just that I am not automatically terminating the message with a newline, as would happen with "echo foo; | pdsend 9999 localhost udp." In -b mode no newline is necessary.

As soon as a newline is added, the message is at the outlet. Furthermore, it's actually not even necessary to include a semicolon in the datagram. If i send the bytes \102\111\111\10 ("foo\n") to a netreceive connected to print, i see "print: foo" in the console.

This is not at all clear from either the help patches on netsend and netreceive or the little information available online about FUDI, all of which mention that a message is just atoms, numbers, and whitespace terminated by a semicolon. The Wikipedia page on FUDI even says

"A newline is just treated as whitespace and not needed for message termination." as far as I can tell this was sourced from a (now offline but archived) pure data wiki page, the genesis of which can be found at: https://lists.puredata.info/pipermail/pd-list/2009-01/067238.html.

There's a good lead at https://lists.puredata.info/pipermail/pd-list/2013-01/100183.html, mentioning the required newline, but it also says a semicolon is required, which I have found to not be the case.

Can anyone clear this up for me? Is there any official specification of FUDI available? I think having this information easily available would be nice, and after I get to the bottom of it I'll correct the Wikipedia page!

I would also like to know how to send multiple messages in one datagram. Sending "foo;bar;\n" to a netreceive connected to print only gives me "print: foo" at the console, and trying to [route foo bar] doesn't work.

Cheers



_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list

Reply via email to