検索

ホームページ  >  に質問  >  本文

html5 - express4 + socket.io 如何在connection的回调外边使用socket.emit方法

app.js

    var sockect = require('./socket/server')
    var users = require('../router/users')
    
    app.use('/users', users); //路由
    
    var server = app.listen(9000, function () {
        console.log('server start');
    });
    
    sockect(server); //启动socket

server.js

'use strict';

module.exports = function(server) {
    var io = require('socket.io').listen(server);
    io.sockets.on('connection', function (socket) {
        //如何将这里的socket暴露给其他地方的js方法里使用socket.emit ?
    });
    return io;

};

上面是我目前的结构,希望在users里面的逻辑里触发emit方法,google了很多,也没有找到有什么办法可以将参数socket传递出去,不然的话所有逻辑只要涉及到socket.emit的都要写在connection的回调里..

ringa_leeringa_lee2781日前586

全員に返信(5)返信します

  • 黄舟

    黄舟2017-04-17 16:11:00

    server.js ファイル内:

    リーリー

    次に、users.js にビジネス ロジックを記述します

    返事
    0
  • 巴扎黑

    巴扎黑2017-04-17 16:11:00

    私もこの問題に遭遇しました、解決してください

    返事
    0
  • 大家讲道理

    大家讲道理2017-04-17 16:11:00

    また、外部呼び出し socket は無意味だと思います。 。
    また、expresssocket は異なるプロトコルに従います。
    user の ID 情報をローカル変数 socket
    のスコープに保存し、対応するユーザーのアクションを介して実行することができます。

    返事
    0
  • 大家讲道理

    大家讲道理2017-04-17 16:11:00

    同じ質問ですが、ソケット オブジェクトを公開するにはどうすればよいですか? ? ? ?

    返事
    0
  • 巴扎黑

    巴扎黑2017-04-17 16:11:00

    リーリー

    返事
    0
  • キャンセル返事