首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QWebSocket来自QTcpSocket

QWebSocket来自QTcpSocket
EN

Stack Overflow用户
提问于 2016-04-01 18:28:42
回答 1查看 1.3K关注 0票数 1

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

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

有什么方法可以达到我上面所描述的吗?我必须实现我自己的WebSocket处理程序吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-01 18:56:45

您需要将所需的文件从Qt的源复制到您的项目中,将QWebSocket包装到一个命名空间中,这样它就不会与Qt的名称空间发生冲突,并使构造函数非私有。这是实现这一目标的唯一途径,而无需编写大量自己的代码,也不需要调用未定义的行为。

要使用您的类型,可以通过using使其可见;它将隐藏Qt的::QObject

代码语言:javascript
复制
#include <QtCore>

namespace Foo { class QObject {}; }

int main() {
   using Foo::QObject;

   //         ours vvvvvvv        Qt's vvvvvvv
   Q_ASSERT(sizeof(QObject) < sizeof(::QObject));
}

Qt附带一个源代码是有原因的:当它有意义时,您应该使用它!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36363411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档