我一直在尝试编写代码,在while循环中使用UdpClient向服务器发送数据,具体来说是一个alive数据包。
static void doSend(string ip, int port)
{
while (isSending)
{
_sockMain = new UdpClient(ip, port);
// Code for datagram here, took it out
_sockMain.Send(arr_bData, arr_bData.Length);
}
}
但是当我调用“Stop”方法时,它会陷入一个常量循环中而无法退出。我如何将while循环放入一个线程中?这样我就可以在停止时中止线程,取消循环。
isSending
,则永远无法从循环中退出。 - Gianni B.isSending
变量作用域有问题。请发布更多代码(比如你在哪里声明了isSending
)。并且尝试在点击按钮后调试变量的值。 - Gianni B.