【发布时间】:2017-08-17 17:02:27
【问题描述】:
我制作了一个带有自动连接的服务器-客户端程序。 但是该程序仅在我首先启动服务器应用程序时才有效,因为客户端需要连接。 我的目标是让客户端延迟 2 秒检查服务器是否已经创建。 我为试错循环做了一个while语句
try
{
int a = 1;
while (a == 1)
{
cliente.Connect(IP_End);
if (cliente.Connected)
{
connectRead();
a = 2;
}
else
{
while (!cliente.Connected)
{
int milliseconds = 2000;
Thread.Sleep(milliseconds);
cliente.Connect(IP_End);
MessageBox.Show(text);
if (cliente.Connected)
{
connectRead();
}
}
}
}
}
catch(SocketException se)
{
MessageBox.Show(se.Message);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
错误是:
无法建立连接,因为目标计算机主动拒绝了它们 192.168.254.28:100
方法在这里:
private void connectRead()
{
STW = new StreamWriter(cliente.GetStream());
STR = new StreamReader(cliente.GetStream());
STW.AutoFlush = true;
backgroundWorker1.RunWorkerAsync();
backgroundWorker1.WorkerSupportsCancellation = true;
}
【问题讨论】:
-
不要发布您的代码图片。将实际代码直接包含在您的问题中
-
在第二个循环的
if语句中设置a = 2;供初学者使用。 -
还有,发生了什么,什么错误,你想要什么结果?
-
我将 "a" 设置为 1 以进入 while。如果它进入 IF 它会执行该方法并说“a”是 2,因此 n 重新进入 while
标签: c# server client try-catch