Безопасное завершение потока при использовании UDP Receive

Я создаю поток, который запускает 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();
6
задан tshepang 23 June 2014 в 04:37
поделиться