您可以將您的數據存儲到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
。
當用戶導航到不同的頁面時,客戶端會自動關閉任何套接字。這是一個正常的行爲(「這是一個功能」)。 –
如何解決這個問題..是否有任何方式來處理套接字連接,直到用戶關閉瀏覽器,然後斷開連接? –