Sockets/STREAMS/TLI ?
Guy Harris
guy at auspex.auspex.com
Sun Jul 29 04:58:39 AEST 1990
>The question is, WHICH set of lower-level components should I use? I
>gather that the underlying mechanism for SUN's rpc facility is
>sockets, so that would be an obvious choice.
Correct, in SunOS (modulo the non-existence of a major workstation
vendor named SUN; it's "Sun Microsystems", not "SUN Microsystems").
>However, the SUN 4.1 documentation (in particular the Network
>Programming Guide) alludes to the fact that SUN intends to ultimately
>discontinue support for sockets, and warns the user to not use them
>directly for new software.
What this means is that the next major OS release from Sun will be based
on System V Release 4, and the "native" networking interface in S5R4 is
TLI. However, S5R4 will have a sockets interface, at least to the
Internet protocol family, as well.
>If that were true, what should one use instead? The impression I
>get from that very same Guide is that the answer is TLI. However,
>TLI is NOT available on pre-4.1 releases. Is there something on that
>level that IS available both now and in the future?
No.
>What comes to mind is STREAMS. However, I find it hard to figure out whether
>STREAMS provide the same functionality as sockets and/or TLI,
That's because it ultimately doesn't. Sockets provides the same
functionality as STREAMS+TLI. TLI is built atop STREAMS; some of the
functionality provided by sockets is mirrored by STREAMS functionality,
and other functionality is mirrored by TLI functionality.
Prior to SunOS 4.1, the only networking functionality implemented using
STREAMS is NIT (unless you count the tty driver). Prior to SunOS 4.0,
you don't have STREAMS anyway.
I would probably go with sockets for now, if I were concerned about
maximum portability. Just about every UNIX system that offers the
Internet protocol family has them (I think most TCP/IP packages for S5R3
come with a socket emulation library; TCP/IP implementations atop S5R2
and the like tended to be done with sockets; S5R4 comes standard with a
sockets library, and any UNIX system with a BSD-based networking
implementation has sockets).
More information about the Comp.unix.questions
mailing list