我正在使用AJAX,PHP和MySQL开发一个网络聊天网站。
但是我遇到了一个问题,有一个功能可以检查你正在聊天的人是否还在聊天(在线)或者他/她已经放弃了聊天。 该函数如下所示:
//some variables here
var somedata="....";
var userleftchatmsg="he/she left you,you are alone now.";
function checkifuseronline(){
$.ajax({
type: "GET",
url: "check.php",
dataType: "json",
data:somedata
}).done(function(r) {
if (r.o1==2) {
$("#chattable").prepend(userleftchatmsg);
} else {
checkifuseronline();
}
});
}
事情是“他/她离开......”消息有时会出现两次,特别是当用户同时与多个合作伙伴聊天时。 这不应该是不可能的,还是我错了?
答案 0 :(得分:0)
您可能不喜欢这个答案,但请查看XMPP。它旨在解决这个问题,以及您尚未遇到的所有其他问题。 http://xmpp.org/about-xmpp/
或者,更直接的方法是使用NodeJS服务器来执行此操作: http://net.tutsplus.com/tutorials/javascript-ajax/real-time-chat-with-nodejs-socket-io-and-expressjs/
糟糕的答案是PHP无法做你想做的事情。这是我一直使用的优秀语言,但你无法从这里到达那里。
祝你好运!