怎样使用WSAGetLastError?------举例:以网络编程中的recv讲解

问一个问题:
A机与B机已通过TCP协议连接上
A机用send发送消息给B机后,就等待B回复,此时A机处于recv状态
而此时B正好收到消息,正发送消息的那刻,突然停电了.

此时A机应该处于什么状态?
是继续等待,还是立即关闭?
注:A机此时处理的消息为recv命令那地方.

----------------------------------------------------举例说明:----以事实说话----------

怎样使用WSAGetLastError?------举例:以网络编程中的recv讲解_第1张图片

第1个是SOCKET_ERROR错误的返回值,第2个是WSAGetLastError返回的指针,第3个是整数值

看不懂怎么办?--->第1步,在MSDN中输入recv--->参看WSAGetLastError的错误返回值,你会看到如图

怎样使用WSAGetLastError?------举例:以网络编程中的recv讲解_第2张图片
--->你随便复制一个放在VC中,比如WSAENOTCONN;然后点鼠标右链接到定义或声明,就会找到winsock2.h

怎样使用WSAGetLastError?------举例:以网络编程中的recv讲解_第3张图片

----->现在你能明白,刚才那个WSAGetLastError输出结果是什么意思?10054是什么?参考上幅图,找到结果没有?是WSAECONNRESET,很好.找到了---->继续看上上幅图,查看recv的错误返回值图,找到后,恭喜你已经过关了!


你可能感兴趣的:(编程,socket,tcp,网络)