html5 - express4 + socket.io 如何在connection的回调外边使用socket.emit方法
ringa_lee
ringa_lee 2017-04-17 16:09:00
0
5
594

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_lee
ringa_lee

ringa_lee

모든 응답(5)
黄舟

server.js 파일에서:

으아아아

그런 다음 users.js에 비즈니스 로직을 작성하세요

巴扎黑

저도 이런 문제가 발생했는데 해결해주세요

大家讲道理

외부 전화socket도 무의미하다고 생각합니다. .
또한, expresssocket은 서로 다른 프로토콜을 따릅니다.
user의 신원 정보를 로컬 변수 socket
범위에 저장하고, 해당 사용자의 동작에 따라 실행할 수 있습니다.

大家讲道理

같은 질문입니다. 소켓 개체를 노출하는 방법은 무엇입니까? ? ? ?

巴扎黑

으아아아

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿