В свое время VB6 имел элемент управления Winsock.ocx , который предоставлял совершенно простой доступ к соединениям UDP и TCP. Он выявлял события, которые запускались при получении данных, а интерфейс был чрезвычайно прост и понятен в использовании. Вы могли бы создать приложение клиент / сервер TCP или приложение связи UDP за считанные минуты.
Перемотка вперед к VB.NET , и все, что у нас, похоже, есть библиотеки System.Net.Sockets
, такие как UdpClient
, которые чрезвычайно запутаны в использовании. Они либо требуют использования Task
с или Thread
с, либо Receive()
вызов блокирует до тех пор, пока данные не поступят, замораживая весь пользовательский интерфейс до получения сообщения.
Комумне это кажется шагом назад, но, может быть, я что-то упускаю.
Есть ли альтернативная библиотека / плагин, который обеспечивает:
- События, которые запускаются при получении данных и т. д.
- Нет необходимости иметь дело с потоками или задачами
- Не блокирует и может использоваться в приложении WinForms
- Простой способ отправки / получения произвольных данных через соединения UDP или TCP?