Qt连接到WebSockets服务器

有人能指出我正确的方向,让Qt连接到运行Socket.io服务器的Node.JS吗?

我发现运行Qt作为服务器的例子,但没有读取数据。

在Qt中,至less有两种方法。 使用阻塞或非阻塞呼叫。 如果使用非阻塞调用,则将信号“连接”到正在使用的TcpSocket类的插槽。 当某些数据到达时,触发一个事件/callback。 这不是一个完整的例子:

在你的.h文件中声明

#include <QtNetwork> ... class MyClient : public QObject { std::unique_ptr<QTcpSocket> tcpSocket_; ... public slots: void readTcpData(); ... 

然后在你的.cpp文件中做类似的事情:

 MyClient::MyClient() { tcpSocket_ = std::unique_ptr<QTcpSocket>(new QTcpSocket(this)); connect(tcpSocket_.get(), SIGNAL(readyRead()), this, SLOT(readTcpData())); } void MyClient::readTcpData() { QByteArray rawData = tcpSocket_->readAll(); QString textData(rawData); ... do something with the received data. } 

要写数据,你可以使用tcpSocket _-> write(…)。 所以无论什么时候数据到达,readReady()信号都会触发readTcpData()函数,并且知道有一些可用的数据可以从套接字读取。 希望它有助于解决您的问题。 祝你好运!

你可以看看使用Qt实现websocket的QWebSocket 。 我也build立了客户端和服务器socket.io类,这些类将很快开放。