Squeak listening to specific IP Addresses?
lex at cc.gatech.edu
Thu Jan 22 17:02:05 UTC 2004
> > Not if you want to use a specific local interface in a connect() call
> > (that
> > was the starting point for the discussion).
There are two issues: compatibility to old images, and compatibility to
MacOS classic. Old images use the old primitives, including the strange
listenOn: primitive which closes the listening socket after the first
connection. Granted, it has been a few years at this point. As a
bigger issue, there was a problem using BSD sockets on MacOS classic.
That's why Squeak has its distinctive sockets API to begin with...
But I would guess neither of these is a big deal.
That aside, let's go whole hog! Make a real BSDSocket class that has
all the functions BSD sockets are supposed to have. To get an idea of
what is required, download Scheme Shell and look what they did; I have
heard they have a quite thorough wrapper for BSD sockets into Scheme,
plus some nice utilities sitting on top of them.
Keep in mind that there are probably a lot of odds and ends that the
current primitives overlook. For example, there is out of band data
that would be useful for a proper telnet client. There are also various
flags in some of the functions that we are probably overlooking.
Anyway, I am not volunteering any effort here, so do as ye will. :) It
just worries me to see this endless tinkering. Either we want
super-portable primitives like the original Squeak primitives, or we
want to insist on full BSD semantics. Playing around in the between
spaces seems strange.
More information about the Squeak-dev