Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!usc!sdd.hp.com!zaphod.mps.ohio-state.edu!brutus.cs.uiuc.edu!julius.cs.uiuc.edu!zweig From: zweig@cs.uiuc.edu (Johnny Zweig) Newsgroups: comp.protocols.tcp-ip Subject: Re: sockets vs. streams Message-ID: <1990Sep4.162046.13457@julius.cs.uiuc.edu> Date: 4 Sep 90 16:20:46 GMT References: <6964@milton.u.washington.edu> Sender: news@julius.cs.uiuc.edu Reply-To: zweig@cs.uiuc.edu Organization: U of Illinois, Dept. of Computer Science, Systems Research Group Lines: 21 In my (object-oriented) implementation of TCP, the interface to the TCP processing module is based on TCP-messages. You can set/check flags and numbers and all that kind of crap. It is somebody else's job to make it look like a file or whatever. If you want a file that automagically creates a network connection when you open it (and what is this /dev/tcp/XXX nonsense all about? Sheesh! I want a file called "Dad" that opens a connection to the talk daemon on pop's macintosh when I open it r/w -- this silly business with IP addresses and port numbers is just as much Someone Else's Problem as making the whole goddamn mess look like a file). I think this whole discussion is misguided (though convenient for those of us who wish to Change the World) in that it makes the assumption that there is some best way to think about network communications. This is false. Networking is complicated (Zweig's Axiom). The paradigm for thinking about something and the something itself are different, and if the great minds behind UNIX can't hack that, well, shout at them (as Mark appears to be doing). A corrollary to the fact that they are different is that they should be handled by different pieces of the OS. -Johnny Paradigm