problem with sockets

Craig Latta Craig.Latta at NetJam.ORG
Tue Dec 22 05:19:37 UTC 1998


	(a slightly modified version of a message I just sent to John Maloney...)

Hi--

	On the Mac, OpenTransport's TCP/IP interface (which includes support for UDP) is enough like the Berkeley interface so as not to affect the Smalltalk primitive interface I designed. No add-on library is needed, and no library source need be included in the virtual machine. Have others found otherwise?

	Given that OpenTransport has a sufficient library, I think the licensing issue is moot. We seem to be content to lack source for Winsock on Microsoft Windows, for example. I'm assume this is obvious, I just mention it for completeness... I should also note how nice it is when you actually *can* look at the socket C library source (as on Linux). It makes porting to Secret Hardware much easier. :)

	The online OpenTransport reference is pretty good. I would start at http://developer.apple.com/techpubs/mac/NetworkingOT/NetworkingWOT-52.html.

> The code needs to work under Mac OS 7.x as well as 8.x and on both the
> PPC and 68K.

	My sense is that both PPC and 68K machines running Mac OS 7.6 or later run OpenTransport okay. I'm not sure how much memory has to be in the machine, but I fear it's something like 24MB. I had a hard time getting technical information from Apple about their older systems. They would seem to prefer that the world forget all about them. :|  The best information seems to come from USENET archives (e.g., search for "+OpenTransport +MacTCP +FAQ" in the complete DejaNews archive).

	It seems to me that GUSI is useful if you're stuck with MacTCP, but I think we should dump MacTCP and use OpenTransport.

	Non-blocking socket access requires process synchronization. In addition to a sockets library, the host platform needs to provide threads. I didn't find any information about using threads on old Macs; newer Macs have the "Thread Manager". If there's demand for it, we could make platform thread use optional. Not using threads would make some socket operations block the virtual machine, as I think happens with the current Squeak networking.


	happy solstice...

-C


--
Craig Latta
composer and computer scientist
craig.latta at netjam.org
www.netjam.org
latta at interval.com
Smalltalkers do: [:it | All with: Class, (And love: it)]





More information about the Squeak-dev mailing list