Я создаю поток, который запускает UDP-клиент, принимающий сообщение, после получения сообщения я хочу закрыть UDP-клиент и завершить поток, но я не знаю, как завершить поток, так как "Receive" всегда выполняется, пока не получит ответ.
Вот мой код на данный момент:
private void RecieveChallenge()
{
UdpClient client = new UdpClient(26000);
IPEndPoint remoteIp = new IPEndPoint(IPAddress.Any, 0);
Byte[] receivedBytes = client.Receive(ref remoteIp);
string ipAddress = Encoding.ASCII.GetString(receivedBytes);
}
Важной строкой является client.Receive(ref remoteIp);
Вот как я запускаю поток:
Thread recieveChallengeThread = new Thread(new ThreadStart(RecieveChallenge));
recieveDataThread.Start();