加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 中断后重新连接TCPClient

发布时间:2020-12-16 01:43:46 所属栏目:百科 来源:网络整理
导读:我有一个客户端应用程序的多个实例,通过TcpClient通过Internet连接到主应用程序. (两者都由我编码).所以连接如下: TcpClient.Connect(ip,port) 我现在希望这可以处理各种类型的断开连接事件: 主应用程序(服务器)或客户端应用程序计算机失去Internet连接.
我有一个客户端应用程序的多个实例,通过TcpClient通过Internet连接到主应用程序. (两者都由我编码).所以连接如下:

TcpClient.Connect(ip,port)

我现在希望这可以处理各种类型的断开连接事件:

>主应用程序(服务器)或客户端应用程序计算机失去Internet连接.

>在恢复连接时,通信似乎丢失了,但是当我尝试重新连接时,我收到消息:
“已在连接的套接字上发出连接请求”
>所以我需要关闭并重新启动客户端应用程序.

>主应用程序(服务器)已关闭,然后重新启动.

>重新启动主应用程序,然后尝试重新连接客户端应用程序,导致与上面相同的错误.

那么,我需要做什么?每当发生此类中断时,是否需要在客户端应用程序中实例化新的TcpClient?我没有尝试过,所以不知道这是不是一个糟糕的解决方案?

解决方法

do I need to instantiate a New TcpClient in the Client Apps,whenever such interruption occur?

是.如果TcpClient表示的连接断开,则无法使用该对象进行进一步通信,也无法再次连接.创建一个新的TcpClient对象.

你的问题可能是NAT网关超时你的TCP连接,所以你的服务器< - >客户端之间没有任何东西可以通过,如果从连接中读取了你的所有客户端,它将不会发现这种情况,它认为连接仍然是开放的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读