windows tcp连接 recv()立即返回 接收字符为空
来源:互联网 发布:婚礼邀请函电子版软件 编辑:程序博客网 时间:2024/06/03 19:42
最近调试windows服务器 与客户端TCP连接遇到recv()出现立即返回,接收字符缓冲区为空的问题。
花了一些时间,发现是客户端TCP断开就会出现这个问题
recv()之前用 setsockopt(sockConn,SOL_SOCKET,SO_RCVTIMEO,(char *)&TimeOut,sizeof(int)); 设置超时时间也没用。
这时候服务器需要断开连接 让客户端重新注册
另外 用setsockopt(sockConn,SOL_SOCKET,SO_RCVTIMEO,(char *)&TimeOut,sizeof(int)); 设置超时
如果超时可以用WSAGetLastError()获取错误码,超时的错误码和断开连接的错误码不一样,用这个也可以区分是tcp连接断开了,还是超时了。
0 0
- windows tcp连接 recv()立即返回 接收字符为空
- 在阻塞式的tcp连接中使用recv接收数据未达到指定长度返回问题
- Windows socket通信出现接收数据时出现recv返回大于0,但缓冲区为大小为0的问题
- socket tcp使用recv接收数据时,返回errno错误代码88
- python socket.recv() 一直不停的返回空字符串,客户端怎么判断连接被断开?
- tcp接收连接
- TCP 发送RST分节的情况,关闭时 recv buffer 不为空,则发送RST分节
- tcp recv 和 udp recvfrom 接收的包个数
- 原创---tcp udp: send一次发送数据长度大于recv size_t len时,windows、linux下不同返回
- TCP连接接收过程 connect
- linux下close 掉socket 之后 阻塞的recv 不会立即返回
- linux下request.getInputStream()接收的参数为空,windows下没有这个问题,为什么?
- 服务器返回文本为空
- 为何GetProcAddress()返回为空?
- IOS pathForResource 返回为空
- findViewById 返回值为空
- DWR:返回值为空?
- 十、连接监听器,接收tcp连接
- 源码学习之IntenteService
- 大型网站技术架构(3):WEB 前端性能优化
- c++ const总结
- ListView中常用Adapter
- Nofication的使用
- windows tcp连接 recv()立即返回 接收字符为空
- c语言中包含math.h的时用gcc编译要加-lm参数
- Binder学习笔记(七)—— ServiceManager如何响应addService请求 ?
- struts2开发时通过interceptor拦截器实现输入数据过滤前后空格的功能
- C还可以这么玩第二期
- Android开发,30行代码集成图片轮播RollViewpager,你说快吗?
- 封装类:即8种基本类型对应8种封装类
- NSLock/NSRecursiveLock/NSConditionLock/@synchronized 详细解释
- iOS开发系列—Objective-C之Foundation框架