2016-04-25 2 views
0

У меня есть один сервер и несколько клиентов. Сервер хочет запустить сценарий оболочки на каждом устройстве, которое он хочет. Абсолютно это невозможно через простой сокет, потому что у нас могут быть тысячи устройств. Также сервер и устройства должны всегда подключаться через сокет. после большого поиска я узнал, что решение может быть NAT-T. Но все же я не знаю, как использовать это, или если есть другое решение. Пожалуйста, помогите мне, что делать с клиентами и сервером.запустить сценарий оболочки на удаленном сервере с сервера

+0

Поэтому использовать SSH на каждом устройстве? Для этого есть библиотеки nodejs. Если у вас открыт сокет (теперь он неясен, если у вас есть или нет его), вы можете использовать что-то похожее на общение с дочерним процессом? Почему вы используете NAT? Это больше похоже на проблему сетевого уровня вне узла. Можете ли вы или не можете связаться с устройствами с сервера или только устройства могут добраться до сервера? – CFrei

+0

Итак, каков адрес и порт клиента? также может измениться адрес клиентов. Проблема в том, как я могу связаться с клиентами через сервер. – Beaumind

ответ

0

Если вы не знаете адрес клиента и порт вверх, вам необходимо подключиться к серверу с клиентами. 1000 устройств не проблема. Вы выполняете ограничение на сокет около 65000 открытых портов (отметьте ulimit). Создайте поток объектов между клиентом и сервером и выполните сценарий на основе объекта, который получает клиент. Вы также можете установить интервал на клиентах и ​​позволить им проверять с помощью простых http (s) каждые n секунд, если им что-то нужно сделать?

Смотри, например, здесь: Node Stream Docs Или здесь: Node HTTP Docs

+0

Так что, если количество клиентов превышает 65000? – Beaumind

+0

Вам нужен другой подход - например, http. Но если у вас более 65000 клиентов, вам может понадобиться настоящая архитектура. взгляните на некоторые подходы архитектуры IoT, например, от amazon aws или других ... – CFrei

+0

Я думаю, что localtunnel решит проблему :) – Beaumind

Смежные вопросы