Я поддерживаю код других и его использование класса UdpClient
. Код объявляет один экземпляр UdpClient
и получает данные непрерывно с помощью UdpClient.Receive()
.
Когда данные получены, они обрабатываются в другом потоке и UdpClient
вызовы Receive()
снова. В то же время, когда данные обрабатываются, тот же клиент передает ответ обратно.
Вопрос: действительно ли это - ошибка? Я думаю, итак, потому что UdpClient
не ориентировано на многопотоковое исполнение, таким образом, Вы не можете назвать два метода одновременно. Так или иначе код хорошо работает, но...
Тот факт, что что-то не является поточно-ориентированным, не означает, что вы не можете вызывать два метода через разные потоки (или даже один метод через разные потоки ), это просто означает, что когда класс был разработан, он не был разработан с учетом безопасности потоков, поэтому результаты одновременного доступа «непредсказуемы» с вашей точки зрения.
Это не ошибка. Это неправильное использование.