Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!uunet!talarian!scott
From: scott@talarian.UUCP (Scott Weitzenkamp)
Newsgroups: comp.unix.questions
Subject: STREAMS vs Unix-domain sockets
Keywords: STREAMS SysV 3.2 frustration
Message-ID: <176@talarian.UUCP>
Date: 29 Sep 89 23:11:35 GMT
Distribution: usa
Organization: Talarian Corp., Mountain View
Lines: 28


  Does vanilla System V/386 3.2 provide *ANY* mechanism that I can use
to emulate Unix domain sockets and select(2)?  I am writing a server
program that needs to communicate with many clients.  On BSD, my
server can create a Unix-domain socket, bind(2) a name to it
(something like $HOME/.my_server), and then all the clients can use
connect(2).  My server is nice and simple because I can use select(2)
to multiplex the clients AND new connection requests.
  The System V function poll(2) looks like it would make a nice
substitute for select(2), even though the timeout granularity is in
seconds instead of microseconds.  I'd willing to take what I can get.
However, what STREAMS devices do I have at my disposal?  Are stdin,
stderr, and stdout STREAMS devices?  Are pipes STREAMS devices?  What
about named pipes?
  I've seem mention in this newsgroup of the undocumented device
/dev/spx, which is a "stream pipe", but it seems that /dev/spx comes
with RFS, and I do not have RFS installed (I *WILL* install it if
someone can show me how to use /dev/spx to emulate sockets).
  I already know about the standard System V IPC mechanisms: message
queues, semaphores, and shared memory.  These won't do: I want a file
descriptor.
  Am I going to have to break down and buy an Ethernet card and
Lachman TCP/IP ?    :-( :-(
-- 
Scott Weitzenkamp           UUCP:  uunet!talarian!scott
Talarian Corporation	    ARPA:  scott@talarian.uu.net
"Welcome to the late show, starring NULL and void" -- Men At Work
Mail responses, and I'll summarize to the net.