Какие протоколы прикладного уровня над TCP/IP поддерживают постоянное соедиение как WebSocket?
Китайское устройство умного дома соединяется с сервером. В описании к устройству указано что используется стэк TCP/IP. Есть возможность изменить адрес сервера и порт на свои и есть перевод описания структуры запросов и ответов (собственно набор цифр). Устройство может отправлять запросы на сервер и сервер может отправлять запросы на устройство. Какой возможно используется протокол прикладного уровня? То есть получается устройство соединяется с сервером и поддерживает соединение.
Протокол может быть какой угодно, вполне вероятен какой-то самопальный протокол - никто не запрещает сочинять свои. Раз набор цифр, значит протокол двоичный.
Раз есть описание протокола в документации, то очень вероятно, что это самопальный протокол, иначе бы просто дали ссылку на RFC например или другой стандарт.
любой, хоть самописный поверх канала TCP.
да. TCP канал - двухсторонний: после открытия и запросы и данные по нему могут бегают в обе стороны. какой формат этих данных TCP не интересует.
MQTT поддерживает открытое соединение для обеспечения реального времени связи. Протокол разработан таким образом, чтобы быть легковесным и эффективным, что делает его подходящим для IoT-приложений, где экономия энергии имеет решающее значение. Поддерживая постоянное соединение, MQTT уменьшает накладные расходы на установление новых соединений, что может помочь сэкономить энергию, особенно в устройствах, работающих от батарей. Кроме того, низкое использование пропускной способности протокола и поддержка уровней качества обслуживания (QoS) позволяют дополнительно оптимизировать потребление энергии.