Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js-Socket.io-client不发出数据_Node.js_Socket.io - Fatal编程技术网

Node.js-Socket.io-client不发出数据

Node.js-Socket.io-client不发出数据,node.js,socket.io,Node.js,Socket.io,我正在尝试使用nodejs构建一个简单的socket.io客户端,但是我遇到了一个问题 我正在连接socket.io(服务器),但我无法发送任何数据。下面是我的简单代码: 客户端: var socketIO = require('socket.io-client')('http://serverdns:3000'); socketIO.on("dashboard", (data) => { console.log(data); }); socketIO.on('connect'

我正在尝试使用
nodejs
构建一个简单的
socket.io客户端
,但是我遇到了一个问题

我正在连接
socket.io
(服务器),但我无法发送任何数据。下面是我的简单代码:

客户端:

var socketIO = require('socket.io-client')('http://serverdns:3000');

socketIO.on("dashboard", (data) => {
    console.log(data);
});

socketIO.on('connect', function(){ 

    console.log("Connected with the translator service.");
    socketIO.emit('dashboard', 'teste');


});

socketIO.on('disconnect', function(){ 

    console.log("Disconnected from the translator service");

});

socketIO.on('error', function(err){ 

    console.log(err);

});
var server = require('http').createServer();
var ioServer = require('socket.io')(server, { pingInterval: 2000, pingTimeout: 60000, cookie: false });

class SocketServer {

    constructor() {

        var self = this;

        ioServer.on('connection', function (client) {

            console.log('[SOCKETIO] AVAILABLE');

            client.on('main', self.main);
            client.on('disconnect', self.disconnect);

        });

        server.listen(3000);

    }

    getSocket(){
        return ioServer;
    }

    main(data) {
        console.log(data);
    }

    disconnect() {

        console.log("[SOCKETIO] DISCONNECTED");
    }

}

module.exports = new SocketServer();
Socket.io
version:2.1.1(我曾尝试使用旧版本,但同样的问题也发生了)

connect
事件起作用,生成日志“已连接到翻译服务”,但
emit
不起作用

服务器端:

var socketIO = require('socket.io-client')('http://serverdns:3000');

socketIO.on("dashboard", (data) => {
    console.log(data);
});

socketIO.on('connect', function(){ 

    console.log("Connected with the translator service.");
    socketIO.emit('dashboard', 'teste');


});

socketIO.on('disconnect', function(){ 

    console.log("Disconnected from the translator service");

});

socketIO.on('error', function(err){ 

    console.log(err);

});
var server = require('http').createServer();
var ioServer = require('socket.io')(server, { pingInterval: 2000, pingTimeout: 60000, cookie: false });

class SocketServer {

    constructor() {

        var self = this;

        ioServer.on('connection', function (client) {

            console.log('[SOCKETIO] AVAILABLE');

            client.on('main', self.main);
            client.on('disconnect', self.disconnect);

        });

        server.listen(3000);

    }

    getSocket(){
        return ioServer;
    }

    main(data) {
        console.log(data);
    }

    disconnect() {

        console.log("[SOCKETIO] DISCONNECTED");
    }

}

module.exports = new SocketServer();
有人能帮我吗? 有什么我没看见的吗


非常感谢。

现在您正在从客户端向事件
仪表板发出消息。但在服务器端,您没有处理该事件的代码。您当前正在记录事件
main
,该事件与您发出的内容不匹配。尝试
client.on('dashboard',self.dashboard)
。创建自己的
仪表板
功能。

但在客户端,我处理事件
“仪表板”
。我需要同时处理这两个问题吗?是的
socketIO.emit('dashboard','test')
基本上是说您要发送到
dashboard
,所以您必须在服务器上处理
dashboard