Я создаю сервер, который использует протокол UDP для отправки и получения сообщений UDP клиентам и от них. Клиенты постоянно «выбрасывают» UDP-сообщения на сервер без ответа сервера. Когда сервер «думает», что он получил достаточно UDP-сообщений от определенного клиента, он отправляет сигнальное сообщение (UDP-сообщение) обратно клиенту действует как сервер), чтобы предотвратить дальнейшую отправку сообщений. Проблема здесь в том, что: Сервер может получать UDP-сообщения от клиентов. Но клиенты (находящиеся за локальной сетью) не могут получать UDP-сообщения с сервера. Как я могу отправлять сообщения UDP клиенту, находящемуся за локальной сетью?
Как я могу отправлять сообщения UDP клиенту, находящемуся за локальной сетью?
comment
Сколько времени требуется серверу для отправки дейтаграммы UDP клиенту. Сразу после получения последнего сообщения UDP? (тот, который превышает лимит)
- person rodolk   schedule 05.05.2015
Ответы (1)
Это зависит от маршрутизатора. Некоторые устанавливают маршрут на некоторое время, когда дейтаграмма впервые отправляется членом локальной сети на сервер, маршрутизатор может принять к сведению, поскольку пакет udp является частью «сеанса UDP», и направить его соответствующим образом. Другой способ, который я бы попробовал, — использовать UPnP для переадресации правильного порта (то есть порта, который использует клиентский компьютер) члену локальной сети.
person
HLL
schedule
04.05.2015