如果主机离线,它们将丢失所有已连接的客户端,并且由于我的中断,它们不会自动连接回来;在代码中。如果我不休息;在代码中,它大量垃圾邮件一遍又一遍地连接相同的用户。基本上,如果主机在会话中间发生故障,我希望客户端在主机重新启动后自动重新连接。
这是我的代码
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);
}
}
答案 0 :(得分:0)
你应该从该函数中生成一个bool,其中包含ifno about是否已连接客户端,如果try没有失败,则sholud将其设置为true,或者将true返回到调用tryConnect的函数,因此可以将其设置为调用tryConect将知道您已连接,您将不再需要尝试连接。
如果您只是测试连接,那么不要只是在聊天中写入那种数据。 我不确定我是否理解你的问题。