Какие протоколы прикладного уровня над TCP/IP поддерживают постоянное соедиение как WebSocket? Китайское устройство умного дома соединяется с сервером. В описании к устройству указано что используется стэк TCP/IP. Есть возможность изменить адрес сервера и порт на свои и есть перевод описания структуры запросов и ответов (собственно набор цифр). Устройство может отправлять запросы на сервер и сервер может отправлять запросы на устройство. Какой возможно используется протокол прикладного уровня? То есть получается устройство соединяется с сервером и поддерживает соединение.
Судя по вашему описанию, устройство, подключенное к серверу через стек TCP/IP и поддерживающее постоянное соединение, может использовать один из следующих протоколов прикладного уровня:
MQTT (Message Queuing Telemetry Transport): Это легковесный протокол обмена сообщениями, который часто используется в IoT-устройствах. MQTT работает по принципу "подписка/публикация" и часто поддерживает постоянное соединение через TCP.
CoAP (Constrained Application Protocol): Это протокол, ориентированный на IoT, который часто используется для связи между устройствами с ограниченными ресурсами. CoAP использует UDP для передачи, но может быть встраиваемым на TCP (через CoAP-TCP).
AMQP (Advanced Message Queuing Protocol): Это другой протокол обмена сообщениями, который поддерживает постоянные соединения и может использоваться для обмена данными между устройствами и серверами.
XMPP (Extensible Messaging and Presence Protocol): Этот протокол предназначен для обмена сообщениями и может поддерживать постоянные соединения в реальном времени.
SSE (Server-Sent Events): Хотя SSE обычно используется для отправки данных от сервера к клиенту, он также может управлять постоянным соединением, однако чаще используется совместно с HTTP.
HTTP/2 или HTTP/3: Эти версии протокола HTTP поддерживают постоянные соединения и могут использоваться для взаимодействия между устройствами и серверами, хотя они более ориентированы на запрос/ответ и не обеспечивают двунаправленное взаимодействие так, как WebSocket.
Если устройство может самостоятельно отправлять запросы на сервер и сервер может инициировать соединения с устройством, вероятно, оно использует один из указанных выше протоколов, которые допускают такую архитектуру. Чтобы определить конкретный протокол, нужно больше информации о структуре запросов и ответов, которые передаются между устройством и сервером.
Судя по вашему описанию, устройство, подключенное к серверу через стек TCP/IP и поддерживающее постоянное соединение, может использовать один из следующих протоколов прикладного уровня:
MQTT (Message Queuing Telemetry Transport): Это легковесный протокол обмена сообщениями, который часто используется в IoT-устройствах. MQTT работает по принципу "подписка/публикация" и часто поддерживает постоянное соединение через TCP.
CoAP (Constrained Application Protocol): Это протокол, ориентированный на IoT, который часто используется для связи между устройствами с ограниченными ресурсами. CoAP использует UDP для передачи, но может быть встраиваемым на TCP (через CoAP-TCP).
AMQP (Advanced Message Queuing Protocol): Это другой протокол обмена сообщениями, который поддерживает постоянные соединения и может использоваться для обмена данными между устройствами и серверами.
XMPP (Extensible Messaging and Presence Protocol): Этот протокол предназначен для обмена сообщениями и может поддерживать постоянные соединения в реальном времени.
SSE (Server-Sent Events): Хотя SSE обычно используется для отправки данных от сервера к клиенту, он также может управлять постоянным соединением, однако чаще используется совместно с HTTP.
HTTP/2 или HTTP/3: Эти версии протокола HTTP поддерживают постоянные соединения и могут использоваться для взаимодействия между устройствами и серверами, хотя они более ориентированы на запрос/ответ и не обеспечивают двунаправленное взаимодействие так, как WebSocket.
Если устройство может самостоятельно отправлять запросы на сервер и сервер может инициировать соединения с устройством, вероятно, оно использует один из указанных выше протоколов, которые допускают такую архитектуру. Чтобы определить конкретный протокол, нужно больше информации о структуре запросов и ответов, которые передаются между устройством и сервером.