Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!lll-tis!lll-ati.arpa!narayan From: narayan@lll-ati.arpa (Narayan Moharram) Newsgroups: comp.protocols.tcp-ip.ibmpc Subject: Re: In this corner -- sockets! In that corner -- TLI & streams! Message-ID: <21851@lll-tis.arpa> Date: Mon, 23-Nov-87 12:40:08 EST Article-I.D.: lll-tis.21851 Posted: Mon Nov 23 12:40:08 1987 Date-Received: Thu, 26-Nov-87 01:39:11 EST References: <283548.871111.PAP4@AI.AI.MIT.EDU> <302@halley.UUCP> <3373@hoptoad.uucp> Sender: nobody@lll-tis.arpa Reply-To: narayan@lll-ati.arpa (Narayan Moharram) Organization: Lawrence Livermore National Laboratory, Livermore CA Lines: 17 Each operating system (SV.3 and 4.x BSD) has its own idea of async I/O capabilities. So the question is not select/poll, but what benefits does sockets have over TLI or vice versa. One of the biggest defects in sockets is the fact that connections are accepted by the underlying protocol without giving the user a chance to reject an incoming connection request. This is not quite as bad as the fact that using TLI you cannot do scattered I/O which is essential for networking protocols. Sockets has a sendmsg /recvmsg capabilty whereby various layers can build thier own headers, in non contiguous buffers, and pass it down to the transport layer. This proves to be a big expense in the TLI mechanism as a lot of copying has to be done (or preknowledge of the next layers headers is necessary). If anyone is interested I can post a paper that was done comparing the two interfaces in various categories.