socket 断开连接后重连

socket是一个全局变量功能有连接断开连接我想断开连接后还能用这个socket重新建立连接大侠们能具体点吗?如何断开,如何恢复,有代码吗发几行关键代码看看吧,谢谢!... socket是一个全局变量
功能有
连接
断开连接
我想断开连接后还能用这个socket重新建立连接
大侠们能具体点吗?
如何断开,如何恢复,有代码吗
发几行关键代码看看吧,谢谢!
展开
 我来答
GrantWoo
推荐于2018-03-28
知道答主
回答量:4
采纳率:0%
帮助的人:3万
展开全部
socket 关闭连接后,就不能用它重新连接了。要想重新连接,就得建立新的socket实例来进行连接。然后把全局引用指向新的socket就可以了。
j198727456
2011-01-04 · 超过11用户采纳过TA的回答
知道答主
回答量:30
采纳率:0%
帮助的人:0
展开全部
定义一个全局变量
把第一次建立的socket 值保存下来;
然后把这个socket值赋值给第二次建立连接socket2
就OK了;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
维瑟斯庞
2011-01-04 · TA获得超过9683个赞
知道大有可为答主
回答量:8230
采纳率:28%
帮助的人:4597万
展开全部
那就把socket连接保存一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bqhepbo
推荐于2016-06-09 · TA获得超过685个赞
知道答主
回答量:449
采纳率:100%
帮助的人:315万
展开全部
Close只是通知底层socket关闭而已,并不一定保证底层的链接一定释放了,所以你一下子创建那么多链接肯定出问题

备注
Close 方法可关闭远程主机连接,并释放所有与 Socket 关联的托管资源和非托管资源。关闭后,Connected 属性将设置为 false。

对于面向连接的协议,建议先调用 Shutdown,然后再调用 Close 方法。这可以确保在已连接的套接字关闭之前,已发送和接收该套接字上的所有数据。

如果需要在不首先调用 Shutdown 的情况下调用 Close,则可以将 DontLinger Socket 选项设置为 false,并指定一个非零的超时间隔,从而确保排队等待输出的数据得到发送。这样,Close 将会一直阻止到发送完该数据或指定的时限超时为止。如果将 DontLinger 设置为 false,并且指定了一个非零的超时间隔,Close 将会释放连接并自动放弃排队等待输出的数据。

补充:
那就没办法了,你只能限制你的链接数量,可能你的底层的负荷量达不到那么大吧,不行你找其他的socket通信类库试试
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式