此外 1.1
还包含了如下重大的变更:
* 加入了gethostname()这个常规调用,以便更加简单地得到主机名字和地址。
* 定义DLL中小于1000的序数为 Windows Sockets保留,而对大于 1000 的序数则没有限
. 11 .
制。这使Windows Sockets供应商可以在 DLL中加入自己的界面,而不用担心所选择的序数会
和Windows Scokets将来的版本冲突。
* 增加了WSAStartup()函数和WASClearup()函数之间的关联,要求两个函数互相对应。这
使得应用程序开发者和第三方DLL在使用 Windows Sockets实现时不需要考虑其他程序对这套
API的调用。
* 把函数intr_addr()的返回类型,从结构 in_addr 改为了无符号长整型。这个改变是为了适
应Microsoft C编译器和Borland C编译器对返回类型为四字节结构的函数的不同处理方法。
* 把WSAAsyncSelect()函数语义从“边缘触发”改为“电平触发”。这种方式大大地简化
了一个应用程序对这个函数的调用。
* 改变了ioctlsocket()函数中FIONBIO的语义。如果套接口还有未完成的WSAAsyncSelect()
调用,该函数将失败返回。
* 为了符合RFC 1122,在套接口选项中加入了 TCP_NODELAY 这一条。
所有Windows Sockets 1.1对于Windows Sockets 1.0 的改动在以下都作了记号。
还包含了如下重大的变更:
* 加入了gethostname()这个常规调用,以便更加简单地得到主机名字和地址。
* 定义DLL中小于1000的序数为 Windows Sockets保留,而对大于 1000 的序数则没有限
. 11 .
制。这使Windows Sockets供应商可以在 DLL中加入自己的界面,而不用担心所选择的序数会
和Windows Scokets将来的版本冲突。
* 增加了WSAStartup()函数和WASClearup()函数之间的关联,要求两个函数互相对应。这
使得应用程序开发者和第三方DLL在使用 Windows Sockets实现时不需要考虑其他程序对这套
API的调用。
* 把函数intr_addr()的返回类型,从结构 in_addr 改为了无符号长整型。这个改变是为了适
应Microsoft C编译器和Borland C编译器对返回类型为四字节结构的函数的不同处理方法。
* 把WSAAsyncSelect()函数语义从“边缘触发”改为“电平触发”。这种方式大大地简化
了一个应用程序对这个函数的调用。
* 改变了ioctlsocket()函数中FIONBIO的语义。如果套接口还有未完成的WSAAsyncSelect()
调用,该函数将失败返回。
* 为了符合RFC 1122,在套接口选项中加入了 TCP_NODELAY 这一条。
所有Windows Sockets 1.1对于Windows Sockets 1.0 的改动在以下都作了记号。