首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

帖, 非阻塞send, 却出现EINPROGRESS异常, 持续!

2013-09-11 
求助帖, 非阻塞send, 却出现EINPROGRESS错误, 持续在线等!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!场

求助帖, 非阻塞send, 却出现EINPROGRESS错误, 持续在线等!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
场景描述(利用epoll管理):
客户端发送请求, 服务端回应(连续回应n个包结束). 第一次没问题
客户端再次发送请求, 服务端继续回应(连续回应n个包结束), 但是这次send完最后一个包之后, epoll取socket的循环, 仍然会把这个socket取出, 并且flag是错误, 错误为EINPROGRESS.

大家遇到过吗, socket是非阻塞的send. 每次都是第一次没问题, 第二次就这样. 
不明白为什么非阻塞send也会出现EINPROGRESS, 又不是connect. epoll socket 非阻塞 EINPROGRESS
[解决办法]
你的错误码应该是调用send之前设置的, 看下是不是socket对应的客户端已经关闭导致的
[解决办法]
这个错误应该很正常吧!连接没有完成吧!
看看是不是socket已经失效啦!也就是链路被破坏了

是不是在重连过程中,你这边又在继续发数据呢?
每次调用接口的时候最好能及时的检查返回值!
[解决办法]
man send,手册ERRORS里面没有EINPROGRESS的值,应该不是send的报错
[解决办法]
把connect改成阻塞的,再测试下结果
[解决办法]

引用:
Quote: 引用:

把connect改成阻塞的,再测试下结果
我这边是作为server呀, 被连接

如果错误信息定位不到问题,写个测试客户端程序调试下

热点排行