【问题标题】:TcpClient reconnect to an already open connectionTcpClient 重新连接到一个已经打开的连接
【发布时间】:2012-08-06 22:45:47
【问题描述】:

我正在使用 TcpClient 与硬件设备进行通信。 作为测试过程的一部分,与设备的通信可能会中断 30 秒左右的时间。这很好,有时是有意的。

当我在通信中断时向设备发送数据时,问题就开始了。因为我使用的是 TcpClient,所以我得到一个 IO 异常并且连接被断开。设备端的连接仍然打开。 我该怎么做:

  • 重新连接到设备上的开放连接?创建一个新的 TcpClient 将在设备端创建一个新的连接,这是不需要的......
  • 也许让 TCP 重新传输时间超过 30 秒?(Windows 7)

【问题讨论】:

    标签: c# tcpclient


    【解决方案1】:

    您最好的方法是交换会话标识符或使用其他方法来跟踪连接并使用代码来处理简历。您可以增加SendTimeout Property 的值,但接收端仍可能最终导致连接超时。

    一旦关闭了与 TcpClient 的特定连接,您将无法重新打开它。在我看来,您可能这样做的唯一其他方法(原始套接字代码)似乎比它的价值更麻烦。

    【讨论】:

      猜你喜欢
      • 2015-04-18
      • 1970-01-01
      • 1970-01-01
      • 2021-11-29
      • 1970-01-01
      • 2011-09-05
      • 2015-11-15
      • 2015-10-21
      • 2011-12-07
      相关资源
      最近更新 更多