2.6.9 API 调用失败时的返回值

来源:互联网 发布:网络逃犯 编辑:程序博客网 时间:2024/05/29 19:55
2.6.9 API 调用失败时的返回值
常量SOCKET_ERROR是被用来检查 API调用失败的。虽然对这一常量的使用并不是强制
性的,但这是推荐的。如下的例子表明了如何使用 SOCKET_ERROR常量
典型的BSD 风格:
r = recv(...);
if (r == -1                  /* or r < 0 */
&& errno == EWOULDBLOCK)
   {...}
更优良的风格:
r = recv(...);
if (r == SOCKET_ERROR
&& WSAGetLastError == WSAEWOULDBLOCK)
   {...}
2.6.10 
原始套接口
Windows  Sockets 规范并没有规定 Windows  Sockets  DLL 必须支持原始套接口-用
SOCK_RAW 打开的套接口。然而Windows Sockets规范鼓励 Windows Sockets DLL提供原始套
接口支持。一个Windows Sockets兼容的应用程序在希望使用原始套接口时应该试图用 socket()
调用(参见5.1.23节)来打开套接口。如果这么做失败了,应用程序则应该使用其他类型的套
接口或向用户报告错误。
原创粉丝点击