Я пытаюсь подключить 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 способен подключаться, и он проходит через условие для подключения, но не получает через io.sockets.on функцию Javascript, чтобы указать, что подключен новый клиент.
socket.io
не для обычных сокетов TCP. Вместо этого вы хотите использовать встроенный net
модуль, в частности net.createServer()
который возвращает экземпляр net.Server
который вы можете использовать для прослушивания простых TCP-соединений.
socket.io
обычно для браузеров, подключающихся к серверу. Вы можете использовать websockets, но тогда вам нужно иметь реализацию протокола socket.io для использования вместе с websocket.