Php 使用 Pusher 或 socket.io 显示在线用户
Php Show Online Users with Pusher or socket.io
我有一个论坛页面。在唯一的索引页面上,我显示了一个显示用户名的在线用户列表。我用推手。它很好用。我有一个客户抱怨的问题。问题是当用户浏览到其他页面时,his/her 用户名消失并再次出现。 His/her 每次页面移动时与 Pusher 的连接都会丢失。我该如何处理这种情况?是否有其他解决方案来列出在线用户?我不想使用经典的基于 AJAX 的解决方案。
可在 Pusher Support page 上找到此问题的示例解决方案。他们建议您缓冲用户离线事件并在用户短时间后重新加入时丢弃。提供的示例代码是:
function removeMember(member) {
pendingRemoves[ member.id ] = setTimeout(function() {
removeMemberFromUI(member);
}, 3000); // wait 3 seconds
};
function addMember(member) {
var pendingRemoveTimeout = pendingRemoves[member.id];
if(pendingRemoveTimeout) {
// user left, but has rejoined
clearTimeout(pendingRemoveTimeout);
}
}
我有一个论坛页面。在唯一的索引页面上,我显示了一个显示用户名的在线用户列表。我用推手。它很好用。我有一个客户抱怨的问题。问题是当用户浏览到其他页面时,his/her 用户名消失并再次出现。 His/her 每次页面移动时与 Pusher 的连接都会丢失。我该如何处理这种情况?是否有其他解决方案来列出在线用户?我不想使用经典的基于 AJAX 的解决方案。
可在 Pusher Support page 上找到此问题的示例解决方案。他们建议您缓冲用户离线事件并在用户短时间后重新加入时丢弃。提供的示例代码是:
function removeMember(member) {
pendingRemoves[ member.id ] = setTimeout(function() {
removeMemberFromUI(member);
}, 3000); // wait 3 seconds
};
function addMember(member) {
var pendingRemoveTimeout = pendingRemoves[member.id];
if(pendingRemoveTimeout) {
// user left, but has rejoined
clearTimeout(pendingRemoveTimeout);
}
}