Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.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
Javascript Socket.io触发多个事件3次_Javascript_Node.js_Sockets_Socket.io - Fatal编程技术网

Javascript Socket.io触发多个事件3次

Javascript Socket.io触发多个事件3次,javascript,node.js,sockets,socket.io,Javascript,Node.js,Sockets,Socket.io,如果我启动服务器,一个客户端连接所有函数,并触发3次。我不知道如何阻止这一切 io.sockets.on('connection', function(socket) { weatherFiveDay.getFiveDayWeatherData(function(result) { socket.emit('weatherFiveDay', result); }); //Übertrage Daten zur Anzeige des aktuellen Wetters

如果我启动服务器,一个客户端连接所有函数,并触发3次。我不知道如何阻止这一切

io.sockets.on('connection', function(socket) {

  weatherFiveDay.getFiveDayWeatherData(function(result) {
    socket.emit('weatherFiveDay', result);
  });

  //Übertrage Daten zur Anzeige des aktuellen Wetters
  weatherAPI.getActualWeather(function(result) {
    socket.emit('weather', result);
  });

  //Übertrage Daten zur Anzeige des PV-Leistung
  mysqlDaten.get5DaysPVData(function(result) {
    socket.emit('powerForecast', result);
  });

  //Übertrage Daten zur Anzeige des Wettervorhersage
  forecastAPI.get5DayForecast(function(result) {
    socket.emit('weatherForecast', result);
  });

});
客户示例:

var socket = io.connect();
    socket.on('weatherFiveDay', function (data) {
});

如果在
连接
处理程序中添加
console.log(socket.id)
,它是否也会触发三次?您好,我在io.sockets.on('connection',function(socket){console.log(socket.id)之后添加了它;并触发三次。这意味着客户端连接了三次。您的客户端代码是在某种事件处理程序中启动的吗?我想我的问题是,我有3个client.js文件。每个client.js都在调用io.connect()。这是问题吗?@robertklepHow我可以存储io.connect()吗全球地?