使用 Socket.io 个发送和接收对象

Working with Socket.io sending and receiving objects

这是我的 app.js 文件

io.on('connection', function(socket){

socket.on('ujwal', function (data) {
    socket.emit('news', function(){
        console.log('testing');
    });
});

socket.on('disconnect', function(){
    console.log('user disconnected');
});

在 ujwal 事件中,我正在向客户端发送另一个事件 这是我的 index.html 我也包含了套接字库

var socket = io('http://localhost:3000');
    $('#test').click(function(){

        var as = "object";
        socket.emit('ujwal',as);


    });

    socket.on('news', function (a) {
        alert('receiving msgs');
    });

现在我打开两个 windows 每当用户单击他们获得的测试 ID 但没有单击时他们没有在前端接收到对象,为什么?为什么代码意味着每当你得到名称事件 ujwal 请触发新闻 A 和 B 连接到服务器 A 单击测试 ujwal 被触发并由服务器检查并再次发回新闻现在所有连接的用户都应该看到警报?

这是我所知道的,所以请让它发挥作用,以便所有用户都能得到提醒。

当您使用 socket.emit() 时,您将直接发射到该套接字,而不是所有套接字。要发送到所有套接字,请从 io

发送
io.on('connection', function(socket){

    socket.on('ujwal', function (data) {
        //socket.emit('news', function(){
        io.emit('news', 'some message');
    });

    socket.on('disconnect', function(){
        console.log('user disconnected');
    });