您可以将您的数据存储到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>
Socket连接断开。为什么?
它是默认行为socket.io
。
当用户导航到不同的页面时,客户端会自动关闭任何套接字。这是一个正常的行为(“这是一个功能”)。 –
如何解决这个问题..是否有任何方式来处理套接字连接,直到用户关闭浏览器,然后断开连接? –