如果使用TCP-C#断开与主机的连接,则重新连接#

时间:2014-06-24 02:08:05

标签: c# tcp

如果主机离线,它们将丢失所有已连接的客户端,并且由于我的中断,它们不会自动连接回来;在代码中。如果我不休息;在代码中,它大量垃圾邮件一遍又一遍地连接相同的用户。基本上,如果主机在会话中间发生故障,我希望客户端在主机重新启动后自动重新连接。

这是我的代码

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);
      }
}

1 个答案:

答案 0 :(得分:0)

你应该从该函数中生成一个bool,其中包含ifno about是否已连接客户端,如果try没有失败,则sholud将其设置为true,或者将true返回到调用tryConnect的函数,因此可以将其设置为调用tryConect将知道您已连接,您将不再需要尝试连接。

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

相关问题