io.in (data.room) .emit ("группа", имя пользователя) не работает - PullRequest
0 голосов
/ 27 ноября 2018

Я пытаюсь передать сообщение в комнате всякий раз, когда новый пользователь присоединяется к комнате, используя 'socket.io' и 'node js'.Вот соответствующий код, в котором я застреваю (сейчас происходит:

шаг 1: один пользователь создал группу (сообщение отображается в комнате чата «Вы создали комнату и присоединились к ней»)

шаг 2: другой пользователь присоединяется к группе (сообщение отображается как «присоединенный к группе» для пользователя, который присоединился, но не для другого пользователя, создавшего группу)

пытается «испустить»сообщение о том, что пользователь присоединился к группе в качестве первого сообщения в «чате», но оно не отправляет сообщение.

попытался io.on(data.room).emit("group",... socket.to(data.room).broadcast.emit(.... socket.broadcast.to(data.room).emit(....

сторона сервера -> app.js

io.on('connection', (socket) => {


socket.on("joinGroup",(data)=>{
    console.log("room clicked server",data)
    // socket.broadcast.to(data.room).emit("jgroup",{username : data.username})//not emitting to jgroup, which will show that this current user joined the group
     socket.to(data.room).broadcast.emit("jgroup",{username : data.username})
    // io.in(data.room).emit("jgroup",{username : data.username})
    //console.log(data.room)
   // console.log(data.username)
   console.log(io.sockets.name)



})
});

* сторона клиента -> chat.js

$(function () {
//make connection
console.log("hello")
var socket = io()
socket.on("jgroup",(data)=>{
    console.log("11111111111111",data.username)

    feedback.html('');
    message.val('');
    chatroom.append("<p class='message'  style='font-family:courier;'>" + data.username + " has joined the group. </p>")

})
});

Заранее спасибо. Любая помощь будет оценена. Спросите, если не понимаетемоя проблема, постарался четко и просто поставить свой запрос.

1 Ответ

0 голосов
/ 27 ноября 2018

Чтобы записать каждого в комнате, вы бы позвонили io.to(data.room).emit("jgroup",...

Шпаргалка здесь удобна https://socket.io/docs/emit-cheatsheet/

...