Java TCP-сервер для связи с устройством IoT - PullRequest
0 голосов
/ 18 ноября 2018

Я разработал встроенную систему, которая отправляет данные на сервер в виде запросов TCP.Я не могу использовать более частые HTTP-запросы из-за перегрузки данных.Меньшая длина пакета приведет к меньшему потреблению энергии и меньшим затратам на связь.

Сервер должен прослушивать специальный порт, получать данные с устройства и сохранять их в таблице.

Как я уже исследовал, Java-сервлеты + Apache Tomcat - популярное решение, но в этом случае его не следует использовать, поскольку сервлет Java больше подходит для соединений на основе HTTP.

Есть лилучшее решение для этого типа связи?

1 Ответ

0 голосов
/ 18 ноября 2018

Пожалуйста, посмотрите на Розетки . Они используют модель TCP / IP прикладного уровня и обеспечивают надежную двустороннюю связь без лишних данных. Тем не менее, вам нужно будет разработать крошечный протокол для связи с вашими потребностями.

Скорее всего, этого будет достаточно для ваших нужд, но если вы решите использовать решение HTTP, имейте в виду, Websockets , который является интересным решением, уменьшит издержки протокола HTTP (но они выиграли Если это не устранить, служебные данные останутся на уровне 2-10 байт.) К сожалению, Java SE не имеет встроенной поддержки веб-сокетов, поэтому вам нужно будет использовать внешнюю библиотеку.

PS: оба варианта поддерживают шифрование по TLS, но я не упомянул об этом, поскольку он добавляет заметные издержки (по крайней мере, во время инициализации соединения)

...