2

QTcpServer在端口 1024 上创建了一个。我想使用 URL 从 websocket 连接到它ws://localhost:1024,但它没有连接。我们不能将 websocket 连接到常规 TCP 服务器套接字吗?

4

3 回答 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 回答