Hlavní navigace

Názor k článku Sokety a C/C++: Urgentní data od John - Sorry za dlouhý příspěvek, ale v dokumentaci k...

  • Článek je starý, nové názory již nelze přidávat.
  • 16. 6. 2003 17:06

    John (neregistrovaný)

    Sorry za dlouhý příspěvek, ale v dokumentaci k WinSock 2.2 API v kapitole o OOB jsem našel cosi o problémech s kompatibilitou mezi různými implementacemi socketů a nevím, jak moc se toho mám bát (text prikladam dole). Zatím mám pocit, že bych se OOB radši vyhnul. Ale budu rád, když to někdo vyvrátíte.

    Dik,
    John

    Note: The following discussion of out-of-band (OOB) data, implemented using TCP Urgent data, follows the model used in the Berkeley software distribution. Users and implementors should be aware of the fact that there are at present two conflicting interpretations of RFC 793 (in which the concept is introduced), and that the implementation of out-of-band data in the Berkeley Software Distribution (BSD) does not conform to the Host Requirements laid down in RFC 1122.

    Specifically, the TCP urgent pointer in BSD points to the byte after the urgent data byte, and an RFC-compliant TCP urgent pointer points to the urgent data byte. As a result, if an application sends urgent data from a BSD-compatible implementation to an RFC-1122 compatible implementation then the receiver will read the wrong urgent data byte (it will read the byte located after the correct byte in the data stream as the urgent data byte).

    To minimize interoperability problems, applications writers are advised not to use out-of-band data unless this is required in order to interoperate with an existing service. Windows Sockets suppliers are urged to document the out-of-band semantics (BSD or RFC 1122) which their product implements.