我正在为我的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
的默认行为。