[PD] IP address of local machine

Roman Haefeli reduzent at gmail.com
Sun Dec 17 14:59:25 CET 2017


On Son, 2017-12-17 at 10:48 +0000, Andy Farnell wrote:

> If the server is brokering the traffic then you never need to know 
> the private network addresses as NAT will map them to public port
> numbers and the router will map the returned packets back to local
> addresses.
> 
> But I guess you want to use the server to do peer discovery
> and then having the two clients communicate directly.

Exactly, that's the idea.

> 
> Aren't there some more genral network utility objects in Pd?

Yes, iemnet comes with [tcpclient] and [udpclient], which accept and
output bytes. They're pretty raw and probably close to your idea of a
[sock] object. However, they don't output all properties of the current
socket.

What I wish to be able to do is done in python like this:

#!/usr/bin/python
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("8.8.8.8", 53))
print(s.getsockname()[0])
s.close()


> In my wishes we would have:
> [tcpdump] and [hping], one to dump traffic, maybe in hex 

All networking objects, including the ones from vanilla, are able to
deal with bytes represented as numbers. I think that's far more
versatile in Pd to use than hex.

> to 
> avoid Pd's fussiness about control characters, and one to 
> craft any and all packets according to a template sent in 
> a prior message.
> 
> And to get really serious about Pd as a network utility
> how about [sock], an object to be set up as a raw socket?

I think we're pretty well served with what we have already. What use
cases do you have in mind that aren't covered yet?

Roman
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: This is a digitally signed message part
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20171217/3e936202/attachment.sig>


More information about the Pd-list mailing list