
C++ socket客户端断线后如何重新连接
我想做的就是不管什么情况断线了。他都能自动重新连接。。这个重新连接。是如何连接的?很多人都只告诉我去检测断线啊什么什么的。。这个我会弄。我想问的是重新连接怎么去做?是把第...
我想做的就是不管什么情况断线了。他都能自动重新连接。。这个重新连接。是如何连接的?很多人都只告诉我去检测断线啊什么什么的。。这个我会弄。我想问的是重新连接怎么去做?是把第一次连接过程封到函数里。。然后做判断断线之后在调用这个封好函数呢?还是怎么样去做,才能实现重新自动连接。。最好给点代码。。
展开
2个回答
展开全部
这个要分情况了。
如果是UDP的话,就不存在连接不连接的问题了。因为这个是面向无连接的,直接发送数据即可。
如果是TCP的话,就需要连接了。你应该这么办:
首先每隔一段时间查看是否与服务器断开了,或者根据你具体的要求来查看是否断开。
第二重新连接。
你想问的事如何重新连接是把?你之前的连接就是发送了客户端是发送了connet函数连接把?如果发现断线了,就重新发送connect函数连接即可。
如果是UDP的话,就不存在连接不连接的问题了。因为这个是面向无连接的,直接发送数据即可。
如果是TCP的话,就需要连接了。你应该这么办:
首先每隔一段时间查看是否与服务器断开了,或者根据你具体的要求来查看是否断开。
第二重新连接。
你想问的事如何重新连接是把?你之前的连接就是发送了客户端是发送了connet函数连接把?如果发现断线了,就重新发送connect函数连接即可。
展开全部
你说的检测断线你都会了,重连不会啊?
你在客户端开启个定时器或者线程,每隔一段时间判断下当前的连接状态(你自己说检测断线你会的,所以肯定有状态)。 如果断线了,那就清理下SOCKET数据重新构造下(地址端口模式什么的) 然后连接被,如果想做次数限制 那就写个递归 比如第一次连接失败了就在调一次连接 中间Sleep 1-3秒, 反正客户端断网这样可能客户端回卡死一小会, 不想卡死就在开启个线程或者定时器的 来进行重新连接。 次数一般连三次连不上就Destroy吧 你也可以看看连接失败的原因 用GetLastError 看失败原因就行了。 具体怎么做查MSDN
你在客户端开启个定时器或者线程,每隔一段时间判断下当前的连接状态(你自己说检测断线你会的,所以肯定有状态)。 如果断线了,那就清理下SOCKET数据重新构造下(地址端口模式什么的) 然后连接被,如果想做次数限制 那就写个递归 比如第一次连接失败了就在调一次连接 中间Sleep 1-3秒, 反正客户端断网这样可能客户端回卡死一小会, 不想卡死就在开启个线程或者定时器的 来进行重新连接。 次数一般连三次连不上就Destroy吧 你也可以看看连接失败的原因 用GetLastError 看失败原因就行了。 具体怎么做查MSDN
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询