【问题标题】:Socket.io (Node.js) Doesn't Detect Connected QTcpSocketSocket.io (Node.js) 未检测到连接的 QTcpSocket
【发布时间】:2014-11-11 20:28:29
【问题描述】:

我正在尝试将 QTcpSocket 连接到 Nodejs 应用程序。 C++ QT 代码是:

nodeSocket = new QTcpSocket(this);
nodeSocket->connectToHost("127.0.0.1", 3000);
if (nodeSocket->waitForConnected(3000))
{
    qDebug() << "Connected!";
}

Node.js 代码是:

var server = express().listen(3000);
var io = require('socket.io').listen(server);

io.sockets.on('connection', function (socket) {
          console.log('A new client connected! ID: ' + socket.id);
          });

我知道 QT 套接字能够连接并且它通过了连接条件,但它没有通过 Javascript 函数中的 io.sockets.on 来指示新客户端已连接。

【问题讨论】:

    标签: javascript c++ node.js qt qtcpsocket


    【解决方案1】:

    socket.io 不适用于常规 TCP 套接字。您需要的是内置的net 模块,特别是net.createServer(),它返回一个net.Server 实例,您可以使用它来侦听普通的TCP 连接。

    【讨论】:

    • 我宁愿不更改节点代码。我尝试只使用 QWebSocket (qt-project.org/doc/qt-5/…),但它根本无法连接。
    • socket.io 通常用于连接到服务器的浏览器。你可以使用 websockets,但是你必须有一个 socket.io 协议的实现才能与 websocket 一起使用。
    猜你喜欢
    • 2016-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-14
    • 2017-06-10
    • 1970-01-01
    • 2012-06-14
    • 1970-01-01
    相关资源
    最近更新 更多