[Vm-dev] How to read from and write to a Unix domain socket

Bert Freudenberg bert at freudenbergs.de
Mon May 28 11:21:56 UTC 2012


On 28.05.2012, at 12:00, Damien Cassou wrote:

> Hi,
> 
> some days ago I asked on stackoverflow a question about Unix domain
> socket for Pharo. Bert told me it is possible but I didn't find the
> source code or examples. Could you please give me a few more hints?
> 
> You can answer by email or on
> http://stackoverflow.com/questions/10759301/how-to-read-from-and-write-to-a-unix-domain-socket-in-pharo
> 
> Thank you very much
> 
> Best


The SocketPlugin supports all socket families nowadays. There are new primitives, in addition to the old ones. So far I think only Etoys uses them. I see for example a method SocketAddressInformation class>>addressFamilyLocal in addition to #addressFamilyINET4 and addressFamilyINET6, which must be good for something.

It can use more than IPv4 for sure:

NetNameResolver addressesForName: 'localhost'
	==> an OrderedCollection(
		::1(localhost),0(0)-inet6-stream-tcp
		127.0.0.1(localhost),0(0)-inet4-stream-tcp
		fe80::1%lo0(localhost),0(0)-inet6-stream-tcp)

This was added a couple years ago by Ian Piumarta and Michael Rüger.

Levente ported the in-image code to Squeak last year, but it was never actually adopted:

	http://forum.world.st/Re-The-Inbox-Network-ul-100-mcz-td3618715.html

This should be a good starting point for you. You won't find an example for domain sockets because the main purpose of the new plugin was to support IPv6. But Ian made it generic enough so it should work with any socket family.

- Bert -




More information about the Vm-dev mailing list