WinSock的recv返回值处理
来源:互联网 发布:ios软件源 编辑:程序博客网 时间:2024/06/11 09:21
今天在调试程序的时候发现,客户端调用closesocket时,服务器应该会返回SOCKET_ERROR,实际上Debug版本是这样,但Release版本并不是。相同的代码Debug返回了-1,Release返回了0。
通过看msdn的原文可以发现:
If no error occurs, recv returns the number of bytes received and the buffer pointed to by the buf parameter will contain this data received. If the connection has been gracefully closed, the return value is zero.Otherwise, a value of SOCKET_ERROR is returned
意思是:如果没有错误,将返回接收到的字节数。如果优雅的关闭了套接字,会返回0。否则返回SOCKET_ERROR,也就是-1。
所以在处理断线的时候判断返回值小于等于0即可。(而不是有些人写的判断等于SOCKET_ERROR)
阅读全文
0 0
- WinSock的recv返回值处理
- recv() 的返回值
- recv的返回值
- recv函数返回值的处理和判断
- socket编程 recv()返回值处理
- 关于非阻塞的recv的时候返回的处理
- 关于非阻塞的recv的时候返回的处理
- 关于非阻塞的recv的时候返回的处理
- 关于recv()和send()的返回值
- 关于socket中recv的返回值
- 使用Dtrace检查recv()的返回值
- 阻塞状态的recv返回值
- recv函数的返回值测试
- Linux网络编程:recv的返回值
- 阻塞状态的recv返回值
- 套接字的recv返回错误和处理
- recv函数返回值
- socekt recv返回值
- Win10下python3和python2同时安装并解决pip共存问题
- 【转】Android中的http请求 URLEncode
- atomic 原子量的使用心得
- tensorflow中获取shape的方法比较
- 常用数据结构——队列及其应用
- WinSock的recv返回值处理
- jsp 九大内置对象和其作用详解
- 洛谷 2680[NOIP2015] 运输计划 二分+lca+树上差分+dfs序
- 学习前端第二天--表单标签
- 【Algorithm】因子求和
- 面向对象程序设计上机练习八(对象数组)
- Java 静态加载类与动态加载类(初步认识Java的反射)
- unik的命令行-解释说明
- warning LNK4099: PDB 原因及解决方案