Path: utzoo!attcan!uunet!aplcen!samsung!cs.utexas.edu!tut.cis.ohio-state.edu!ucbvax!nsl.dec.com!dcrocker From: dcrocker@nsl.dec.com (Dave Crocker) Newsgroups: comp.protocols.tcp-ip Subject: Re: UDP bind question Message-ID: <9002201434.AA04791@dcrocker.pa.dec.com> Date: 20 Feb 90 14:34:13 GMT References: <9002150303.AA01899@yuba.WRS.COM> Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 21 The differences between sockets() implementations, as you state, is pretty much a case of implementation error, except to the extent that 4.2BSD and 4.3BSD have differences or to the extent that one fixes bugs in the semantics of them. (That is, the Berkeley implementations are the formal definition to sockets(), by definition. But, they have bugs. If one implements sockets() on a new platform, but fixes those bugs, you no longer conform to the 'formal' definition to sockets().) The differences between implementation of TCP available through TPI or TLI are deeper. Because the service interfaces to TPI and TLI are not perfectly matched to TCP, there are design choices to be made. They are, of course, made differently by different implementors and therefor, they are incompatible. The test of this issue is the extent to which an application can be ported from one Streams environment with TCP to another one, without code change. The answer is that many applications need to be changed. Dave 28