问题标签 [qtwebsockets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
617 浏览

c++ - 在 QWebSockets 中检查客户端 SSL 证书有效性的最佳实践

我正在尝试编写一个使用全新 QWebSockets 的应用程序。

到目前为止,我想实现安全的 Web 套接字,但示例指向我拒绝 SSL 错误,即使他们评论说它是不安全的。

我的问题是:我应该如何在客户端处理 SSL 证书的控制,甚至是自签名证书?在这种情况下,最佳实践是什么?

仅供参考,这里有一个指向QWebSocket 类发出的 QSSLErrors的链接。

不幸的是,当我打印它们时, webSocket.sslConfiguration().peerCertificate() 返回空值。

0 投票
3 回答
3393 浏览

c++ - 确保使用 qRegisterMetaType() 注册“QAbstractSocket::SocketState”

我试图将QWebSocket连接放入QThread

程序编译没有错误,运行正常,但是当它尝试连接到websocket服务器时抛出这个错误:

QObject::connect: 不能对“QAbstractSocket::SocketState”类型的参数进行排队(确保使用 qRegisterMetaType() 注册了“QAbstractSocket::SocketState”。)

当我做

没有线程连接工作正常。

有任何想法吗?

0 投票
1 回答
6150 浏览

node.js - 空闲 WebSocket 的开销

假设我有一个 websocket 可能随时接收事件,但大部分时间是空闲的,在初始连接后将消耗多少带宽以使其保持活动状态?

值得一提的是,服务器是ws使用 NodeJS 的,而客户端使用的是 QtWebSockets。

谢谢!

0 投票
1 回答
344 浏览

qt - Qtwebsockets 示例 SSL

我正在尝试使用 qtwebsockets,但我遇到了 ssl echoserver 和客户端的问题。我的项目是在 QT 5.3.2 MiniGW windows 8 64 位中开发的,我可以成功使用非 ssl 服务器示例,但是当我尝试使用 ssl 时,这就是我得到的:

1)客户端全黑

2)服务器打印三个消息:

QIODevice::read: 设备未打开 QIODevice::read 设备未打开 SSL Echo Server 监听端口 1234

我认为这是一个 ssl 问题,但我不是 100% 确定,我尝试安装 openssl 二进制文件但没有成功,希望有人能帮助我。

干杯

0 投票
3 回答
4110 浏览

c++ - Qt 本地安全网络套接字

我正在开发一个 Qt 应用程序,该应用程序通过 WebSocket 与我的 Web 浏览器(目前是 Google Chrome)进行通信。

一切正常,直到我尝试使用安全的 websockets ......

我设法解决了我在使用 OpenSSL 时遇到的问题,所以现在我应该有一个可以工作的 Qt 应用程序,但我没有。

我正在使用 VS2013 和 Qt 5.3。我有以下代码来启动我的服务器:

我使用以下方法创建了证书文件:https ://developer.salesforce.com/blogs/developer-relations/2011/05/generating-valid-self-signed-certificates.html

在浏览器端,我只有:

不幸的是,每次我尝试时,都会收到以下 JS 消息:

至今:

  • QSslSocket::supportsSsl ()返回true
  • 我没有任何QSslSocket: cannot resolve XXX method消息
  • 加载 OpenSSL DLL,VS2013 输出以下消息:

    “MyProject.exe”(Win32):已加载“I:\Sources\VS2013\x64\Release\ssleay32.dll”。无法找到或打开 PDB 文件。“PressAndListenQt.exe”(Win32):已加载“I:\Sources\VS2013\x64\Release\libeay32.dll”。无法找到或打开 PDB 文件。`

我不知道如何找到问题所在,所以我愿意接受任何建议!

编辑:我尝试使用以下内容(而不是上面的链接)生成自签名证书:

现在我得到另一个错误:

0 投票
1 回答
1137 浏览

c++ - 如何使 Qt Websocket 和 QNetworkRequest (HTTP) 使用相同的连接?

Qt是否可以将处理正常HTTP请求的HTTP连接升级到具有相同连接的Websocket?

我正在考虑使用 Poco 库进行类似的操作,但所有操作都是在 Qt 中完成的,类似于 QtWebApp

0 投票
2 回答
1338 浏览

qt - Qt5 WebSockets 测试应用程序未连接到测试服务

我想打开一个 qt websocket 到测试服务,ws://echo.websocket.org但我收到错误QAbstractSocket::RemoteHostClosedError 我将信号连接error(QAbstractSocket::SocketError socketError)到我的代码中的一个插槽以读取错误号然后在这里查找它

我的代码看起来像这样

我是 websockets 新手,所以我不知道问题出在哪里。任何人都可以提供建议吗?

0 投票
1 回答
644 浏览

qt - Qt websocket服务器示例不起作用

我正在尝试http://doc.qt.io/qt-5/qtwebsockets-echoserver-example.html中的示例来创建一个简单的 websocket 服务器并通过 google chrome 浏览器连接到它。

我只是使用了示例文件,默认端口(1234),我构建了它并且应用程序运行良好“WebSocketServer 在端口 1234 上侦听”。但是当我尝试连接示例 html 时,没有连接。我也尝试了其他端口。

我的问题是我不知道如何开始调试问题出在哪里?我没有收到任何错误或任何东西。任何想法可能是什么问题?谢谢!

0 投票
1 回答
2173 浏览

c++ - QWebSocket 无法处理握手

我在使用QWebSocket. 我正在使用 Qt 5.6 及其QWebSocket实现。我确信服务器工作正常并使用 WS v13协议。它适用于所有浏览器。当我尝试连接到服务器时,QWebSocket 会发出这些消息error并发出stateChanged信号(我使用errorString()方法获取它们):

虽然它说Connection closed while reading header,连接实际上并没有关闭(因为服务器会在一段时间后通过 websocket 发送额外的数据包)。我已经在 websocket.org 的 echo test 上测试了我的应用程序,它工作正常!但我两次尝试都嗅探了数据包,并没有发现任何显着差异。

我尝试连接的服务器上的数据包嗅探结果:

与以下连接的数据包嗅探结果echo.websocket.org

我应该怎么做才能调查和解决问题?我无权访问服务器。

PS 是的,我知道QTBUG-40878。它会影响 Qt 5.3.1,但我使用的是 5.6.0,它显然已在我的 Qt 设置中得到修复。

0 投票
1 回答
1221 浏览

qt - 来自 QTcpSocket 的 QWebSocket

我已经使用 QTcpServer 等编写了一个小型 Web 服务器……它工作得很好,所以我想更进一步并实现 Qt 的 WebSocket 功能。我希望 WebSocket-Server 可以在与我的 Web 服务器相同的端口上访问(由于我的客户端网络的限制)。

我的 WebSocket-Server 应该可以访问,/admin/socket所以我需要一种方法将QTcpSocket (可从 的请求处理程序访问/admin/socket “升级”到QWebSocket。QWebSocket 在构造函数中具有此功能,该功能由 QWebSocketServerPrivate 中的升级方法使用,但它都是私有的,仅由 QWebSocketServer 在内部使用。

有没有办法实现我上面描述的?我必须实现自己的 WebSocket 处理程序吗?