【问题标题】:Return variable by socket client通过套接字客户端返回变量
【发布时间】:2018-01-22 11:35:02
【问题描述】:

我有以下问题。如何从另一个 JS 文件向套接字返回新值?

App.js

io.on('connection', function (socket) {
    socket.currentRoomId = 0;
    socket.currentRoomName = "Loading...";
    socket.currentRoomOwner = 1;
    socket.currentRoomEntry = 1.1;
});

RoomManager.js

adapter.query(sql, function(err, rows) {
    rows.forEach( (row) => { 
       socket.currentRoomId = parseInt(row.Id);
       socket.currentRoomName = row.room_name;
       socket.currentRoomOwner = row.room_owner;
       socket.currentRoomEntry = row.room_entry;
    });
});

您好。

【问题讨论】:

    标签: javascript mysql node.js sockets socket.io


    【解决方案1】:

    你必须像这样emitlisten

    RoomManager.js

    adapter.query(sql, function(err, rows) {
        rows.forEach( (row) => { 
           // emit setCurrentData with the row data
           socket.emit('setCurrentData', { data: row });
        });
    });
    

    App.js

    io.on('connection', function (socket) {
        socket.currentRoomId = 0;
        socket.currentRoomName = "Loading...";
        socket.currentRoomOwner = 1;
        socket.currentRoomEntry = 1.1;
    
        // listen to setCurrentData 
        socket.on('setCurrentData', function (row) {
           socket.currentRoomId = parseInt(row.data.Id);
           socket.currentRoomName = row.data.room_name;
           socket.currentRoomOwner = row.data.room_owner;
           socket.currentRoomEntry = row.data.room_entry;
        });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-08
      • 1970-01-01
      • 2015-03-30
      • 2012-10-27
      相关资源
      最近更新 更多