如果主机脱机,它们将失去所有连接的客户端,并且由于我的中断,它们不会自动连接回来;在代码中。如果我不打破;在代码中,它会反复向同一用户发送大量垃圾邮件。基本上,如果主机在会话中途停机,我希望客户端在主机恢复正常后自动重新连接。
这是我的代码
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将知道你是连接的,你将不再需要尝试连接。
如果你只是在测试连接,那就不要在聊天中写那种数据接收。我不确定我是否理解了你的问题