我原以为send能检测到SOCKET的状态,就在send里处理重连的问题,如果正常就发送,失败就重连再发送,现在证实这是不行的,但放在recv()里重连,我觉得也不好,逻辑混乱。有没有什么办法能在send前检查SOCKET的状态出来?
3 个解决方案
#1
心跳比如ajax搞
#2
http还搞心跳?
#3
不考虑很多人研究过的,中途断网等复杂情况,我知道那个得用心跳包才做到。我现在的需求是,服务器已经closesocket了,但是我客户端在send的时候不能发现连接已关闭,只有到recv的时候才发现。我需要在send前检查连接是否还建在。
#1
心跳比如ajax搞
#2
http还搞心跳?
#3
不考虑很多人研究过的,中途断网等复杂情况,我知道那个得用心跳包才做到。我现在的需求是,服务器已经closesocket了,但是我客户端在send的时候不能发现连接已关闭,只有到recv的时候才发现。我需要在send前检查连接是否还建在。