首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用php/ajax聊天系统

使用php/ajax聊天系统
EN

Stack Overflow用户
提问于 2011-10-24 00:22:45
回答 2查看 609关注 0票数 3

我一直在开发一个ajax/php聊天系统,在这个系统中,用户可以明显地互相聊天。我关心的是服务器负载,它最初的编程方式是每x秒自动刷新div (聊天框),它只这样做是因为用户是活动的,因为我超时了他们的不活动。如果它们保持非活动状态10分钟左右,它们将显示为空闲,然后系统将停止刷新。然后,我用HTML5研究了服务器发送的事件,它工作得很好,但并不是所有的浏览器都能使用它。

有没有人有更好的解决方案,或者div刷新现在还可以吗?希望有人能帮上忙,谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-26 22:24:19

考虑使用COMET,或者看看Ajax推送引擎:Link

使用COMET的聊天系统示例:Link

票数 0
EN

Stack Overflow用户

发布于 2019-06-28 19:13:51

代码语言:javascript
复制
// jQuery Document
$(document).ready(function(){
});

//jQuery Document
$(document).ready(function(){
	//If user wants to end session
	$("#exit").click(function(){
		var exit = confirm("Are you sure you want to end the session?");
		if(exit==true){window.location = 'index.php?logout=true';}		
	});
});

//If user submits the form
$("#submitmsg").click(function(){
		var clientmsg = $("#usermsg").val();
		$.post("post.php", {text: clientmsg});				
		$("#usermsg").attr("value", "");
		loadLog;
	return false;
});

function loadLog(){		
	var oldscrollHeight = $("#chatbox").attr("scrollHeight") - 20; //Scroll height before the request
	$.ajax({
		url: "log.html",
		cache: false,
		success: function(html){		
			$("#chatbox").html(html); //Insert chat log into the #chatbox div	
			
			//Auto-scroll			
			var newscrollHeight = $("#chatbox").attr("scrollHeight") - 20; //Scroll height after the request
			if(newscrollHeight > oldscrollHeight){
				$("#chatbox").animate({ scrollTop: newscrollHeight }, 'normal'); //Autoscroll to bottom of div
			}				
	  	},
	});
}

setInterval (loadLog, 1000);
</script>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7867411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档