C++ socket客户端断线后如何重新连接

2025-04-15 02:45:21
推荐回答(2个)
回答(1):

这个要分情况了。
如果是UDP的话,就不存在连接不连接的问题了。因为这个是面向无连接的,直接发送数据即可。
如果是TCP的话,就需要连接了。你应该这么办:
首先每隔一段时间查看是否与服务器断开了,或者根据你具体的要求来查看是否断开。
第二重新连接。
你想问的事如何重新连接是把?你之前的连接就是发送了客户端是发送了connet函数连接把?如果发现断线了,就重新发送connect函数连接即可。

回答(2):

你说的检测断线你都会了,重连不会啊?
你在客户端开启个定时器或者线程,每隔一段时间判断下当前的连接状态(你自己说检测断线你会的,所以肯定有状态)。 如果断线了,那就清理下SOCKET数据重新构造下(地址端口模式什么的) 然后连接被,如果想做次数限制 那就写个递归 比如第一次连接失败了就在调一次连接 中间Sleep 1-3秒, 反正客户端断网这样可能客户端回卡死一小会, 不想卡死就在开启个线程或者定时器的 来进行重新连接。 次数一般连三次连不上就Destroy吧 你也可以看看连接失败的原因 用GetLastError 看失败原因就行了。 具体怎么做查MSDN