【问题标题】:Providing a WebSockets server in a Qt application在 Qt 应用程序中提供 WebSockets 服务器
【发布时间】:2012-08-14 15:06:29
【问题描述】:

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

【问题讨论】:

  • 你可以使用 websockify 来包装你的普通旧 TCP 服务器

标签: qt websocket qtcpserver


【解决方案1】:

正如 Ihor 所指出的,WebSocket 以 HTTP 请求开始,然后升级为 WebSocket。你可以看看QtWebSockets。它是 Qt Playground 的一部分,可用于客户端和服务器实现。

【讨论】:

    【解决方案2】:

    信息有点不真实。它们不是“建立在”HTTP 之上的,WebSocket 更接近 TCP 层。但是,它们需要通过 HTTP 请求与升级服务器握手。

    链接到 RFC - https://www.rfc-editor.org/rfc/rfc6455#section-1.7

    【讨论】:

      【解决方案3】:

      Websocket 不是 纯 TCP 套接字。在后台,他们使用了基于顶级 HTTP 的自定义协议。所以分层看起来像这样:IP > TCP > HTTP > WebSocket.

      因此,要在 Qt 中提供 websocket 服务器,您需要实现 websocket 协议。查看 QtWebsocket 以了解该实现。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-02-12
        • 1970-01-01
        • 2018-09-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-30
        • 2017-02-07
        相关资源
        最近更新 更多