Предоставление сервера WebSockets в приложении Qt

Я создал QTcpServer на порт 1024. Я хочу подключиться к нему из веб-сокета с помощью URL ws://localhost:1024, но это не связано. Разве мы не можем подключить веб-сокеты к обычным сокетам TCP-сервера?

3 ответа

Веб-сокеты не являются чистыми TCP- сокетами. Под капотом они используют собственный протокол, который построен на основе HTTP. Итак, наслаивание выглядит так: IP > TCP > HTTP > WebSocket,

Поэтому для предоставления сервера веб-сокетов в Qt вам нужна реализация протокола веб-сокетов. Проверьте QtWebsocket для этой реализации.

Немного непристойная информация. Они НЕ "основаны" на HTTP, WebSocket гораздо ближе к уровню TCP. Однако они требуют обновления сервера через HTTP-запрос.

ссылка на RFC - http://tools.ietf.org/html/rfc6455

Как указал Игорь, WebSocket начинается с HTTP-запроса, который затем обновляется до WebSocket. Вы можете взглянуть на QtWebSockets. Он является частью игровой площадки Qt и может использоваться как для реализации клиента, так и для сервера.

Другие вопросы по тегам