首页 > 解决方案 > Flutter中的Socket两次接收事件

问题描述

这是我的前端代码。在我使用套接字的前端。发出,在服务器上创建了两次套接字 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");
}); 

对于后端在后端,我使用的是节点 js,我在服务器上发现两次控制台日志,使用相同的套接字 id 两次消息被加入。

标签: node.jsfluttersocketsdartsocket.io

解决方案


推荐阅读