重新连接,如果失去连接到主机使用TCP - c#



如果主机脱机,它们将失去所有连接的客户端,并且由于我的中断,它们不会自动连接回来;在代码中。如果我不打破;在代码中,它会反复向同一用户发送大量垃圾邮件。基本上,如果主机在会话中途停机,我希望客户端在主机恢复正常后自动重新连接。

这是我的代码

public static void tryConnect()
{
while (true)
 {
  try
         {
    TcpClient client = new TcpClient();
            client.Connect(IPAddress.Parse(host), port);
            NetworkStream stream = client.GetStream();
    string user = Environment.UserName;
    byte[] userByte = Encoding.ASCII.GetBytes(user);
    stream.Write(userByte,0,userByte.Length);
    stream.Close();
    client.Close();
    break;
      }
    catch
      {
    Thread.Sleep(10000);
      }
}

你应该让一个bool的函数持有,如果没有关于客户端连接与否,如果尝试不失败,它应该设置为true,或返回true函数调用tryConnect,所以谁是负责调用tryConnect将知道你是连接的,你将不再需要尝试连接。

如果你只是在测试连接,那就不要在聊天中写那种数据接收。我不确定我是否理解了你的问题

相关内容

最新更新