Socket.io (Node.js) 未检测到连接的 QTcpSocket
Posted
技术标签:
【中文标题】Socket.io (Node.js) 未检测到连接的 QTcpSocket【英文标题】:Socket.io (Node.js) Doesn't Detect Connected 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 来指示新客户端已连接。
【问题讨论】:
【参考方案1】:socket.io
不适用于常规 TCP 套接字。您需要的是内置的net
模块,特别是net.createServer()
,它返回一个net.Server
实例,您可以使用它来侦听普通的TCP 连接。
【讨论】:
我宁愿不更改节点代码。我尝试只使用 QWebSocket (qt-project.org/doc/qt-5/…),但它根本无法连接。socket.io
通常用于连接到服务器的浏览器。你可以使用 websockets,但是你必须有一个 socket.io 协议的实现才能与 websocket 一起使用。以上是关于Socket.io (Node.js) 未检测到连接的 QTcpSocket的主要内容,如果未能解决你的问题,请参考以下文章
未找到 Socket.io.js(node.js + express + socket.io)
Node.js socket.io.js 未找到或 io 未定义
Node.js - Socket.io:socket.request 未定义
HTTP 状态代码 200 但页面未加载 Node.js Socket.io -- 使用 Socket.io 的 Node.js 教程,Daniel Nill,fs.readFile(),socket
Phaser.js 中的 Node.js 和 Socket.io 未连接 socket.io/?EIO=3&transport=polling