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

时间:2015-07-10 15:18:24

标签: javascript node.js socket.io

这是我的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我也包括socket lib

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

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


    });

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

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

这就是我所知道的,请让它工作,以便所有用户都能获得警报。

1 个答案:

答案 0 :(得分:1)

使用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');
    });