[PD] create/access udp sockets from within pd

Roman Haefeli reduzent at gmail.com
Fri Mar 1 13:15:54 CET 2013


On Fre, 2013-03-01 at 08:53 +0100, IOhannes m zmölnig wrote:
> On 02/28/2013 17:33, Matthias Blau wrote:
> >>
> >> checkout iemnet's [udpclient].
> >>
> > 
> > already have tried that - without success. I only get
> > "udpclient:status: sent 4", nothing else.
> > 
> > If I understand it correctly, udpclient listens on the specified port as
> > well, so if the remote udp server gets the request, say on port 6667 and
> > answers on another port (e.g., 60303), how can udpclient receive this
> > answer?
> 
> because you are misunderstanding how udpclient works.
> each network connection (UDP or TCP/IP) consists of two ports, a sending
> port and a receiving port. the receiving port (on the server side) is
> usually fixed, it's the port you connect to.
> but on the sending side (the client) you also open a port, which is
> normally chosen randomly from all the currently available ports on the
> system.
> this port can be used to get data back from server to client.
> 
> [udpsend] will silently discard all data on the sender port, but
> [udpclient] will not.
> 
> 
> > 
> > Just to make sure we are talking about the same version: I am on
> > pd-extended 0.43.1 (20120430) under Ubuntu 12.04 64bit.
> > 
> 
> dunno, i have neither.
> but you can test whether [udpclient] works as expected by doing the
> following:
> - run a simple udp-server from the commandline (the following uses
> netcat to Listen on Udp Port 7777)
> $ nc -u -l -p 7777
> - start Pd (in another terminal), load iemnet, and do
> [connect localhost 7777(
> |
> [udpclient]
> |
> [print foo]
> 
> then send something (e.g. "64 64 10") via [udpclient].
> you should see whatever you sent appear on the console running netcat, e.g.:
> @@
> 
> now, in the very console running netcat type something "e.g. "foo") and
> hit return. Pd should print something like "102 111 111 10".
> 
> 
> if the iemnet bundled with PdX is broken, you can install the debian
> packages, by simply running
> $ sudo aptitude install pd-iemnet

Why are you assuming it is broken in Pd-extended?

Actually, it seems to have glitches. With above setup, right after
connecting [udpclient] to the netcat server, you cannot send anything
from netcat to the client. Only after sending at least one packet from
[udpclient], it flushes all messages it has received from the server
since the connection. From this point in time, the communication works
instantly both ways.

This is on Linux (Ubuntu 12.04) with most recent iemnet and Pd compiled
from source, but also with Pd-0.43.3-extended.

When using netcat as UDP client, I can start sending packets from the
server immediately.
 
Roman




More information about the Pd-list mailing list