0

x 個のクライアントが接続されています。

API で何かが発生した場合、つまり 3 つの部分からデータを受け取った場合、それを特定のクライアントにプッシュするにはどうすればよいですか?

var socketio = require('socket.io');
exports.socketServer = function (app, server) {
  var clients = [];
  var io = socketio.listen(server);
  io.sockets.on('connection', function (socket) {

  });
});

API/コールバックの例 (これは別のファイルにあります)

exports.callback = function(req, res){
    //how do reach my socket.io and my clients from here
};
4

1 に答える 1

0

io を渡すことができます。これが1つの方法です。API /コールバックファイルで

var io;

var initializeSocket = function (socket) {
    io = socket;
}

var callback = function (req, res) {
    // your code here and which will have a reference to io object
}

module.exports = {callback: callback, initializeSocket: initializeSocket};

その前に、ここから io オブジェクトを使用してその Api/callback モジュールの initializeSocket メソッドを呼び出す必要があります。

var socketio = require('socket.io');
var Api = require(./location_to_your_Api_callback_file);

exports.socketServer = function (app, server) {
  var clients = [];
  var io = socketio.listen(server);
  Api.initilizeSocket(io);
  io.sockets.on('connection', function (socket) {

  });
});
于 2013-10-21T19:30:17.833 に答える