Параметр: Я хочу написать класс точка-точка Connection
, который при использовании не различает сервер и клиент.Первый хост, который вызывает connect()
, должен стать сервером, ожидающим подключения клиента, а второй - клиентом, который подключается к серверу.
Для того, чтобы сделать это, метод connect()
сначала долженпроверьте сервер прослушивания. a) В первый раз, когда это происходит, сервер не найден, и абонент, вызывающий connect()
, начинает прослушивать localhost
и настроенный порт для входящего соединения. b) Вторая сторона, вызывающая connect()
, также проверяет удаленный хост на заданном порту, распознает сервер и подключается к нему.
Это не слишком сложно при использовании TCP, поскольку TcpClient.Connect()
выдает исключение, когда не может быть установлено соединение.Поэтому я знаю, когда я первый.Поскольку я использую только надежную локальную сеть, я хотел использовать UDP, однако.
Моя проблема: Как определить, ожидает ли сокет UDP-сервера поступающих данных.
В идеале я хотел бы использовать асинхронный сетевой API непосредственно после этого.Вместо того, чтобы заниматься прослушиванием тем самостоятельно.