我写了一个UDP接收程序,用线程启动!
现在我关闭时总提示有死循环或递归无法关闭
如何解决
thread = new Thread(new ThreadStart(Connection));
thread.Start();public void Connection()
{
remoteIPEndPoint = new IPEndPoint(IPAddress.Any, 3300); udpReceive = new UdpClient(remoteIPEndPoint); eip = new IPEndPoint(IPAddress.Any, 3300); while (t)
{
try
{
receiveBytes = udpReceive.Receive(ref eip);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message + "接收错误");
return;
}
}
}
现在我关闭时总提示有死循环或递归无法关闭
如何解决
thread = new Thread(new ThreadStart(Connection));
thread.Start();public void Connection()
{
remoteIPEndPoint = new IPEndPoint(IPAddress.Any, 3300); udpReceive = new UdpClient(remoteIPEndPoint); eip = new IPEndPoint(IPAddress.Any, 3300); while (t)
{
try
{
receiveBytes = udpReceive.Receive(ref eip);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message + "接收错误");
return;
}
}
}
让t=false 还在继续循环?
allthread.Close();
终止所有线程
还是不行
出现"未处理的“System.StackOverflowException”类型的异常出现在 未知模块 中"
可不可以说下,你关闭程序时,有没有把t=false?
{
....
}
voud Stop()
{
stopped = true;
}