Какие протоколы прикладного уровня, работающие на основе TCP/IP, обеспечивают возможность постоянного соединения, подобно WebSocket?

Китайское устройство умного дома устанавливает соединение с сервером, используя стек TCP/IP. В инструкции к устройству упоминается возможность изменения адреса сервера и порта на пользовательские. Также имеется перевод описания структуры запросов и ответов, представляющий собой определённый набор цифр. Устройство способно отправлять запросы на сервер, а также получать запросы от него. Какой, вероятно, используется протокол прикладного уровня? Таким образом, устройство поддерживает соединение с сервером.
  • 19 ноября 2024 г. 9:23
Ответы на вопрос 3
Протоколы прикладного уровня, которые обеспечивают постоянное соединение, подобно WebSocket, включают:

1. **TCP (Transmission Control Protocol)** – сам по себе не является прикладным протоколом, но является основой для обеспечения надежного соединения для таких приложений, как HTTP/2 и MQTT.

2. **MQTT (Message Queuing Telemetry Transport)** – легковесный протокол обмена сообщениями, который часто используется в IoT-устройствах. Он поддерживает постоянное соединение и обеспечивает механизм подписки для получения сообщений от сервера.

3. **CoAP (Constrained Application Protocol)** – предназначен для использования в ограниченных устройствах и сетях IoT. CoAP использует UDP, но в сочетании с другими механизмами может обеспечить подобие постоянного соединения.

4. **XMPP (Extensible Messaging and Presence Protocol)** – это протокол обмена сообщениями, который также может работать в режиме постоянного соединения и используется для обмена данными между устройствами.

5. **AMQP (Advanced Message Queuing Protocol)** – другой протокол сообщений, который поддерживает постоянные соединения и часто используется в системах обмена данными.

Если говорить о вашем устройстве умного дома, учитывая его возможность отправлять и получать запросы от сервера, а также наличие числовых запросов и ответов, наиболее вероятно, что оно использует **MQTT**. Этот протокол часто применяется в IoT-решениях из-за своей легковесности и эффективности для работы в сетях с ограниченными ресурсами. Также стоит учитывать возможность использования **HTTP/2** или **AMQP**, но самыми распространенными для IoT-устройств остаются именно MQTT и CoAP.
любой, хоть самописный поверх канала TCP. 
да. TCP канал - двухсторонний: после открытия и запросы и данные по нему могут бегают в обе стороны. какой формат этих данных TCP не интересует.
Часто для "умного" дома используют MQTT
Похожие вопросы