Express Socket.io未收到消息

Express Socket.io未收到消息,express,websocket,socket.io,Express,Websocket,Socket.io,我在nodejs-express应用程序中有两个文件 first.pug var socket = io.connect('//'+document.location.hostname+':'+document.location.port, { query: { token: "XXXXXX" } }); socket.on('connect', (s) => { console.log('connected!'); s

我在nodejs-express应用程序中有两个文件

first.pug

var socket = io.connect('//'+document.location.hostname+':'+document.location.port, {
  query: {
    token: "XXXXXX"
    }
});    

socket.on('connect', (s) => {
    console.log('connected!');
      socket.emit('join123', 'room1');
});
var socket = io.connect('//'+document.location.hostname+':'+document.location.port, {
  query: {
    token: "XXXXXX"
    }
});    
socket.on('join123', function (data) {
  console.log("join.group========================"+data);
});    
second.pug

var socket = io.connect('//'+document.location.hostname+':'+document.location.port, {
  query: {
    token: "XXXXXX"
    }
});    

socket.on('connect', (s) => {
    console.log('connected!');
      socket.emit('join123', 'room1');
});
var socket = io.connect('//'+document.location.hostname+':'+document.location.port, {
  query: {
    token: "XXXXXX"
    }
});    
socket.on('join123', function (data) {
  console.log("join.group========================"+data);
});    
Nodejs服务器端

io.on('connection', (socket) => {
  console.log('a user connected');
  socket.join('join123');
});

我在
秒中看不到任何消息。当从
第一个脉冲发送消息时,pug
会看到任何消息。pug
秒建立的socket.io连接。pug
从不接收消息,因为您的服务器从不发送消息

var socket = io.connect('//'+document.location.hostname+':'+document.location.port, {
  query: {
    token: "XXXXXX"
    }
});    

socket.on('connect', (s) => {
    console.log('connected!');
      socket.emit('join123', 'room1');
});
var socket = io.connect('//'+document.location.hostname+':'+document.location.port, {
  query: {
    token: "XXXXXX"
    }
});    
socket.on('join123', function (data) {
  console.log("join.group========================"+data);
});    
以下是
首先要做的。帕格
做的事情:

  • 它将创建到服务器的socket.io连接
  • 当该连接成功时,它将向该服务器发送一条
    join123
    消息
  • 以下是socket.io服务器的功能:

  • 它监听连接客户端的消息
  • 当客户端连接时,它会将该客户端放入
    join123
    房间
  • 不会向任何连接的客户端发送任何消息
  • 注意:对于客户端发送的
    join123
    消息,服务器上没有侦听器,因此很可能有问题

    下面是
    second.pug
    所做的:

  • 它将创建到服务器的socket.io连接
  • 它侦听发送给它的
    join123
    消息

  • 但是,没有任何东西会向second.pug发送
    join123
    消息,因此second.pug永远不会收到该消息
    first.pug
    向您的服务器发送一条
    join123
    消息,但服务器从不向其他任何人发送该消息。执行
    socket.join('join123')
    的行为不会导致发送任何消息。它只是将套接字添加到该名称的房间中。如果希望
    second.pug
    获得
    join123
    消息,你必须在你的服务器上编写代码,将该消息发送到所有连接,或者只发送到第二个.pug连接。

    @ManishKumar-我不知道你的代码应该做什么,所以不知道该建议什么。两个先将
    的消息发送到
    第二个.pug
    在服务器端做什么?假设只有这么多代码与发送和接收相关msge@ManishKumar-在服务器上,您需要侦听first.pug发送给它的消息,然后在收到该消息时,向second.pug的套接字发送消息(如果second.pug与first.pug同时打开)。`socket.join('join123',()=>{io.to'('join123').emit('join123','a new user has join the room');});socket.on('join123',(id,msg)=>{socket.to(id).emit('join123','msg1');});`在服务器端工作