如何在nodejs中存储从php session到socket.io库中的用户名和套接字连接在页面refresh.why



我正在为我的Web作业Portal进行聊天应用插座对象中的用户。如果是,那么如何维护该用户列表?另一个问题是,当用户从一个页面导航到另一个页面。.Socket断开连接并再次连接..是否效果我的应用程序性能或Nodejs Server执行?

请通过教程或博客指导我。我还没有找到有关套接连接管理的相关文档。

您可以将数据存储到socket中。例如,

在服务器端,使用这样的使用,

    var socketIo = require('/socket.io').listen(8080);
    var usernames=[];    
    socketIo.sockets.on('connection', function (socket) {    
        socket.on('storeUserData', function (data) {  
           var userInfo = new Object();
           userInfo.userName = data.userName;
           userInfo.SocketId = socket.id;
            usernames.push(userInfo);
        });    
        socket.on('disconnect', function (data) {
         var len = usernames.length;
            for(var i=0; i<len; i++){
                var user = usernames[i];
                if(user.socketId == socket.id){
                    usernames.splice(i,1);
                    break;
                }
            }    
        });
    });

在客户端,您需要添加此

<script>
    var userName = <?php echo $_SESSION['userName'] ?>;        
    var socket = io.connect('http://localhost', {port: 8080});    
    socket.on('connect', function (data) {
        socket.emit('storeUserData', { 'userName' : userName });
    });
</script>

插座连接在页面上断开连接。Why?

socket.io的默认行为。

最新更新