我QTcpServer
在端口 1024 上创建了一个。我想使用 URL 从 websocket 连接到它ws://localhost:1024
,但它没有连接。我们不能将 websocket 连接到常规 TCP 服务器套接字吗?
问问题
4923 次
3 回答
7
Websocket 不是纯 TCP套接字。在后台,他们使用了基于顶级 HTTP 的自定义协议。所以分层看起来像这样IP > TCP > HTTP > WebSocket
:
因此,要在 Qt 中提供 websocket 服务器,您需要实现 websocket 协议。查看QtWebsocket以了解该实现。
于 2012-08-19T07:26:33.090 回答
0
As Ihor indicated, a WebSocket starts with an HTTP request, which is then upgraded to a WebSocket. You can have a look at QtWebSockets. It is part of the Qt playground, and can be used both for client and server implementations.
于 2013-08-10T09:59:49.227 回答
0
略显虚伪的信息。它们不是“建立在”HTTP 之上的,WebSocket 更接近 TCP 层。但是,它们需要通过 HTTP 请求与升级服务器握手。
链接到 RFC - https://www.rfc-editor.org/rfc/rfc6455#section-1.7
于 2013-12-17T05:10:53.060 回答