Я пытаюсь сделать следующее:Отправка уведомлений от облачного сервера устройств в локальной сети
- У меня есть свой сервер за пределами моей локальной сети
- У меня есть несколько клиентов на моей локальной сети (за маршрутизатором)
Я хочу, чтобы сервер уведомлял конкретного клиента о каком-либо событии после того, как клиент «зарегистрировался» с сервером. Например, клиент может указать, какой порт открыт, и отправить IP-адрес.
Все вопросы, которые я видел, касались конкретных облачных сервисов, таких как облако Google, но меня это не интересует.
Проблема Я облицовкой:
- сервер будет видеть IP маршрутизатора вместо IP устройства. Скажем, я открываю порт 5555 на клиентах, и сервер отправляет сообщение на IP-адрес маршрутизатора на порт 5555, будет ли маршрутизатор перенаправлен ко всем устройствам/никому из устройств/или только к IP-адресам с переадресацией портов?
Я смущен, потому что: - В случае, если это не представляется возможным, чтобы отправить к конкретному устройству, как можно несколько устройств просматривать Интернет и использовать Telnet/FTP ...? Каким-то образом пакеты находят свой путь к правильному устройству.
Я знаю, что чего-то не хватает, но я не знаю, что это такое, чтобы задать правильный технический вопрос.
Возникает вопрос:
Любые идеи, как отправить конкретное сообщение от сервера к одному из многих клиентов в локальной сети после того, как клиенты регистрируются на сервере?
Скажите 2 устройствам доступ в Интернет в то же время. Итак, маршрутизатор делает что-то вроде этого? (порт источника: 10000, dest-порт: 80) для устройства1 и (порт источника: 10001: dest-порт: 80) для устройства2, а сервер отвечает на порт 10001 и порт 10002? Порт источника - порт маршрутизатора, dest port - порт веб-страницы. – Makketronix
Да, это так. Маршрутизатор ожидает ответ и отправляет его на соответствующее внутреннее устройство. Если внешний сервер инициирует связь, маршрутизатор не ожидает трафик, поэтому вам необходимо предварительно настроить перенаправление портов, чтобы помочь ему. –