【问题标题】:Angular socket.io factory角socket.io工厂
【发布时间】:2015-02-16 17:18:37
【问题描述】:

您好,我正在开发一个聊天应用程序,我正在遵循http://www.html5rocks.com/en/tutorials/frameworks/angular-websockets/ 的套接字工厂模式 但是我在该代码中遇到了问题。我们已经定义了基于身份验证的连接。在套接字工厂中,他在应用程序加载时定义了此连接。但是按照我的定义。连接后,套接字应该发出一个身份验证密钥。我将在登录后发出。但是由于在登录之前已经建立了连接。套接字断开了,所以请帮我解决我的问题

  var socket = io.connect();

【问题讨论】:

    标签: angularjs sockets socket.io angular-services angularjs-factory


    【解决方案1】:

    你可以实现一个 'auth' 事件,这样你的 server.js 看起来有点像这样:

    module.exports = function (socket) {
        socket.on('auth', fuction(credentials) {
            if(checkCredentials(credentials)) {
                socket.emit('loggedin', { token: 'foo' });
                socket.on('send:message', sendingStuff);
    
                // ... register your events here
            }
        });
    };
    

    【讨论】:

    • 问题是如果连接在 5 秒内进行身份验证,服务器已设置超时。套接字断开连接。因此,当应用程序加载和套接字连接时。但由于用户尚未登录。 auth 信号不会到达服务器
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多