Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.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 两次颤振接收事件中的插座_Node.js_Flutter_Sockets_Dart_Socket.io - Fatal编程技术网

Node.js 两次颤振接收事件中的插座

Node.js 两次颤振接收事件中的插座,node.js,flutter,sockets,dart,socket.io,Node.js,Flutter,Sockets,Dart,Socket.io,这是我在颤振中前端的代码。在前端时,我使用插座。发出,在服务器上创建两次套接字id。它发出两次信息,这是我在颤振聊天屏幕上收到的 const express = require("express"); var http = require("http"); const app = express(); const port = process.env.PORT || 5000; var server = http.createServer(app); va

这是我在颤振中前端的代码。在前端时,我使用插座。发出,在服务器上创建两次套接字id。它发出两次信息,这是我在颤振聊天屏幕上收到的

const express = require("express");
var http = require("http");
const app = express();
const port = process.env.PORT || 5000;
var server = http.createServer(app);
var io = require("socket.io")(server);

//middlewre
app.use(express.json());
var clients = {};

io.on("connection", (socket) => {
  console.log("connetetd");
  // accept();
  console.log(socket.id, "has joined");
  socket.on("signin", (id) => {
    console.log(id);
    clients[id] = socket;
    console.log(clients);
  });
  socket.on("message", (msg) => {
    console.log(msg);
    let targetId = msg.targetId;
    if (clients[targetId]) clients[targetId].emit("message", msg);
  });
});

server.listen(port, "0.0.0.0", () => {
  console.log("server started");
}); 
对于后端在后端,我使用node js,在服务器上发现两个控制台日志,它们具有相同的套接字id,消息加入两次