向所有用户+您自己发送消息(Socket.io)

owl*_*owl 1 node.js express socket.io

客户端 JavaScript 文件:

socket.on('message', function(msg) {
    $(".chat-body").append(msg);
});

$("form").submit(function(e) {
    e.preventDefault();
    var msg = $("input[type=text]").val();
    socket.send(msg);
});
Run Code Online (Sandbox Code Playgroud)

服务器端app.js:

io.sockets.on('connection', function(socket) {
    socket.on('message', function(data) {
      socket.broadcast.send(data);
    });
    socket.on('disconnect', function() {
      // handle disconnect
    });
});
Run Code Online (Sandbox Code Playgroud)

如何在没有额外“附加”的情况下也向自己发送消息?

提前致谢。

Com*_*ode 5

socket是当前启动事件的套接字,connection现在您想要发送给所有用户+您自己使用:

io.sockets.emit('message', msg);

如果您想发送到除您自己之外的所有套接字,请使用broadcast.emit("event", value)

socket.broadcast.emit('event', msg)

如果您只想回答自己(发起事件的套接字):

socket.emit('msg_socket', msg);