Получение UdpClient и отправка одновременно

Я поддерживаю код других и его использование класса UdpClient. Код объявляет один экземпляр UdpClient и получает данные непрерывно с помощью UdpClient.Receive().

Когда данные получены, они обрабатываются в другом потоке и UdpClient вызовы Receive() снова. В то же время, когда данные обрабатываются, тот же клиент передает ответ обратно.

Вопрос: действительно ли это - ошибка? Я думаю, итак, потому что UdpClient не ориентировано на многопотоковое исполнение, таким образом, Вы не можете назвать два метода одновременно. Так или иначе код хорошо работает, но...

1
задан Matt Davis 24 April 2010 в 04:15
поделиться

1 ответ

Тот факт, что что-то не является поточно-ориентированным, не означает, что вы не можете вызывать два метода через разные потоки (или даже один метод через разные потоки ), это просто означает, что когда класс был разработан, он не был разработан с учетом безопасности потоков, поэтому результаты одновременного доступа «непредсказуемы» с вашей точки зрения.

Это не ошибка. Это неправильное использование.

2
ответ дан 3 September 2019 в 01:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: