Path: utzoo!attcan!uunet!samsung!sdd.hp.com!decwrl!ucbvax!WORLD.STD.COM!bzs From: bzs@WORLD.STD.COM (Barry Shein) Newsgroups: comp.protocols.tcp-ip Subject: Sockets vs streams. An attempt to answer the original question Message-ID: <9009060057.AA21297@world.std.com> Date: 6 Sep 90 00:57:35 GMT References: Sender: usenet@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 39 I think we're all looking at this in far too narrow a context. There are many issues that are being hand-waved (note, anyone who assumes I believe one way or the other on this issue please send me my decision as I haven't received it yet.) For example, when I address something that reaches out into, say, network name space, where does my request go? Does it go to a specialized driver that takes care of things like DNS resolution? Does it get handed back up to a user-level process? What? I still think the terminal example (open("/dev/tty/9600/even/noecho",...) was a good one. Someone sent me mail saying "oh, that's just ioctl()'s". What magic! Sockets are bad, ioctls are good, such power in a name. The real issue is: A) Are we trying to simplify/generalize the *user* interface so most any network/etc operation can be specified in a string, wherever a file name is expected? or B) Are we trying to simplify/generalize the *programmer* interface so they don't have to know about those nasty socket calls? Careful, I believe those two goals can be very much in conflict. I also don't believe that everyone discussing this issue on this list falls into the same camp. So we're having definite communications problems, state your objectives! -Barry Shein Software Tool & Die | {xylogics,uunet}!world!bzs | bzs@world.std.com Purveyors to the Trade | Voice: 617-739-0202 | Login: 617-739-WRLD