Xref: utzoo comp.unix.wizards:14655 comp.unix.questions:11662 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!pacbell!rtech!gonzo!daveb From: daveb@gonzo.UUCP (Dave Brower) Newsgroups: comp.unix.wizards,comp.unix.questions Subject: Re: sockets vs. STREAMS, also intermachine networking on SV Message-ID: <510@gonzo.UUCP> Date: 11 Feb 89 19:25:11 GMT References: <438@laic.UUCP> <11191@ulysses.homer.nj.att.com> <11196@ulysses.homer.nj.att.com> <506@gonzo.UUCP> <11199@ulysses.homer.nj.att.com> Reply-To: daveb@gonzo.UUCP (Dave Brower) Distribution: usa Organization: Gonzo Media Group Lines: 49 In <11199@ulysses.homer.nj.att.com> ekrell@hector.UUCP (Eduardo Krell) wonders: >In article <506@gonzo.UUCP> daveb@gonzo.UUCP (Dave Brower) writes: > >>The main reason you want a >>stream pipe is so you can use poll() in your server, which is supposed >>to pay attention to a number of connected clients. Now SVR3 has no >>generically supported method for doing this as far as I can tell. > >I don't understand your question. The poll() system call in SVR3 works >like BSD's select() except that you can only apply it to STREAMS >file descriptors. A file descriptor obtained by opening a (full >duplex) connection through /dev/spx IS a STREAMS file descriptor. I understand that fine, but it is not the issue. The point is that generic SVR3 does not, by default, contain a usable local IPC mechanism for use by a server supporting multiple simultaneous connections. You only have a workable system for _local_ IPC if the system happens to have TLI and a _networking_ device. Both are optional, and the latter often comes from a third party vendor. And you probably pay a real performance penalty going through all the networking code that you really don't need. There are no documented local stream devices, despite the /dev/tivc so prominantly displayed in the "Network Programmer's Guide." /dev/spx isn't a documented, supported device you can count on having around, and it has some severe limitations if it is available. You need to run your server as root and can only get 255 channels open at the same time. On a stripped system the only choice is /dev/spx, which is a kludge. And if it's really stripped (no/dev/spx), then you seem to be SOL. And it's reasonable to drop spx becuase it is only supposed to be used by RFS, and without networking, why carry it around? All of which is a rude awakening when you start looking at the reality of the available SVR3 environments. Despite the license flap, you can't count on being able to get there from here. Heck, even AIX has had usable sockets for a year or so. Frustratedly, -dB -- "Godot will have SVR4 when he comes." - Estragon {sun,mtxinu,amdahl,hoptoad}!rtech!gonzo!daveb daveb@gonzo.uucp