TCP的断线重连

zhiweiyouzhishenghuo 2011-10-17 03:55:20
当断线的时候,我想用原有的SOCKET重连。如果不closesocket出现10056的错误,用一个strsocket保存后,closesocket,然后用strsocket连接,出现10038的错误。
有什么办法能够不改变socket的值重连呢?
...全文
469 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
谢谢各位~
zhouzhipen 2011-10-18
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 lijianli9 的回复:]
对方已经关闭了你们使用的那个socket,无论你是否关闭,那个socket已经无效了,
你必须重新创建。
[/Quote]

++
Ronald_Z 2011-10-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhiweiyouzhishenghuo 的回复:]
那有什么办法,不closesocket而直接用原有的socket重连呢?
[/Quote]

客户端能通过IP和端口连接服务器就可以了,你这样要用同一个Socket应该实现不了,好象也没这个必要
yynetsdk 2011-10-18
  • 打赏
  • 举报
回复
server要释放 client_socket,但不释放client对应的内存资源如client_id,下一次client登陆发送client_id,map查找对应id的socket,恢复掉线前状态数据。
lijianli9 2011-10-18
  • 打赏
  • 举报
回复
对方已经关闭了你们使用的那个socket,无论你是否关闭,那个socket已经无效了,
你必须重新创建。
endless_love123 2011-10-17
  • 打赏
  • 举报
回复
应该可以吧,不然游戏中的短线重连是如何实现的
  • 打赏
  • 举报
回复
那有什么办法,不closesocket而直接用原有的socket重连呢?
科比布莱恩特 2011-10-17
  • 打赏
  • 举报
回复
3秒后试着重连一次。没有断的情况下,重连是没有用的。
saiyaman5 2011-10-17
  • 打赏
  • 举报
回复
closesocket之后socket就不存在了
Gloveing 2011-10-17
  • 打赏
  • 举报
回复
出现错误的原因是:当你断线之后,你保存的strsocket,其实也就只是一个整数了,没有以前的意义了

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧