Express Socket.io未收到消息
我在nodejs-express应用程序中有两个文件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
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);
});
以下是首先要做的。帕格
做的事情:
join123
消息join123
房间join123
消息,服务器上没有侦听器,因此很可能有问题
下面是second.pug
所做的:
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');});`在服务器端工作