problem with sockets

Michael S. Klein mklein at alumni.caltech.edu
Sat Dec 19 21:47:19 UTC 1998


> > Is this true?  Is there a workaround, or is Squeak just broken?
> 
> It's true, Squeak is broken in this respect. I don't know why they did
> not implement the much more common and reliable Berkeley Socket
> semantics with listen() and accept(),
> where the underlying OS does the connection queue stuff. Implementing
> these semantics on top of a weird socket interface such as that of the
> Mac should be mucht easier than the implementing a reliable server on
> top of a conceptually broken API...

I experienced the same problems working on an internet video game in squeak.
I think that part of the problem is cultural. Squeak wants to pretend that
there is such a thing as vanilla hardware (and in this case, vanilla 
networking), but the reality of the situation is that keyboards *are* 
different, mice don't all have the same number of buttons, and networking
apis are not all the same.  Clearly, Macintosh is Squeak's native platform.

Now don't get me wrong... I think Squeak's approach to pretending that
the supporting machine is vanilla is admirable, but i think that a more
unified approach to handling differences when they arise is warranted.
Perhaps pluggable primitives can be used to map a "common subset" semantics
to native calls in image code, rather than VM code.  Of course, one still
needs to define a reasonable common subset, and I think that, for networking,
TCP/IP and Berkeley sockets are the way to go.  Is anyone using squeak for
non-TCP/IP networking?  AppleTalk?

-- Mike





More information about the Squeak-dev mailing list