【问题标题】:What's the difference between using QWebSocket with a URL "wss://..." and QSslSocket in Qt?在 Qt 中使用带有 URL“wss://...”的 QWebSocket 和 QSslSocket 有什么区别?
【发布时间】:2020-01-18 10:54:34
【问题描述】:

Qt 新手。我无法理解将 QWebSocket 与安全 url、“wss://...”和 QSslSocket 一起使用之间的区别。其中哪一项是与 Qt 中的服务器建立安全通信所必需的?还是完全不同?

Qt 示例"Secure Socket Client Example" 使用带有“wss://...”的普通 QWebSocket,但文档和对安全通信来说似乎很直观的是使用 QSslSocket。我应该使用哪一个来实现安全的通信客户端?

我正在保护我的 QWebSockets,它目前没有受到保护,并试图了解安全通信的替代方案和最佳实施。

【问题讨论】:

  • "wss" 是基于 TLS 的 WebSocket 的 URI 方案(SSL 的名称并不那么新)。就像“https”是基于 TLS 的 HTTP。所以实际上您使用的是安全通道(可以在此处找到规范:tools.ietf.org/html/rfc6455#section-11.1.2)。
  • 我看到了那篇文章,但它并没有真正提出使用普通网络套接字与 QSslSocket 和好处。 Rolf - 我知道 wss 是安全的,但是将 wss 与 QWebSocket 与 QSslSocket 一起使用有什么区别?如果通过 QWebSocket 使用 wss 保护通信,那么迁移到 QSslSocket 有什么好处吗?

标签: qt ssl qsslsocket


【解决方案1】:

这是我对 stackoverflow 的第一个回答。 如果您需要 WSS 协议,您可以使用QWebSocket。如果您需要 HTTPS 服务器,您可以使用 QSslSocketQTcpServer。或准备使用项目,例如github.com/azadkuh/qhttp,分支开发。

当然你可以自己实现QWebSocket,但只有open函数包含大约2页代码,并且基于QSslSocketQTcpSocket

很抱歉这么晚才回答,但一年前我对此并不感兴趣。

【讨论】:

    猜你喜欢
    • 2010-12-20
    • 1970-01-01
    • 2013-05-09
    • 2012-03-16
    • 2011-01-14
    • 1970-01-01
    • 1970-01-01
    • 2016-02-02
    相关资源
    最近更新 更多