LINUX.ORG.RU

Используется ли на практике параметр protocol, указываемый в websocket-клиенте?

 , , ,


0

2

Первый раз работаю с web-socketами. Предполагается сервер на Qt на основе этого примера - https://doc.qt.io/qt-6/echoserver.html

и клиент на сервере node.js - вероятно как тут: https://www.npmjs.com/package/websocket

Гоняться будет поток jsonов в направлении сервер->клиент, один json - одно текстовое сообщение.

После прочтения всех доков остался следующий вопрос - со стороны клиента при подключении со стороны node.js передаётся опциональное поле protocol, вида

client.connect('ws://localhost:8080/', 'echo-protocol');

А вот со стороны Qt-ного сервера - никакого упоминания о том, какие protocol надо отправлять чтоб к нему подключиться - нет. Возможно любой, но на моём уровне понимания этого вопроса - какая-то угадайка получается.

В сязи с этим вопрос - есть ли какая-то дока по этому полю, чему в протоколе соответствует этот параметр из node.js?

Используется ли это поле на практике, и если да - какие типичные использования?

Ответ на: удаленный комментарий

похоже на то, спасибо.

Я почему-то подумал что Sec- поля касаются каких-то security протоколов, а не в общем смысле application-level.

видимо просто неинтуитивный префикс Sec используется для всех Websocket - заголовков.

Может быть выберу какой-нибудь application-level протокол из https://www.iana.org/assignments/websocket/websocket.xml#subprotocol-name чтоб было меньше велосипедов.

GPFault ★★ ()
Ответ на: комментарий от GPFault

видимо просто неинтуитивный префикс Sec используется для всех Websocket - заголовков.

потому что Secondary, видимо. тут у них плохо зделоно, потому что даже Sec-WebSocket-Key к безопасности имеет весьма отдаленное отношение

anonymous ()