如何从服务器获取最新或最新数据(如果在服务器中发生新事件( 例如 )有2个用户x,y和x向y发送消息并且你得到这条消息没有刷新页面))? 我不想使用setInterval,因为它一次又一次地重复所有消息。有什么技术可以用于此吗? 我听说Ajax技术需要向服务器发送请求,但我想在服务器和网页发生事件时发现它而不刷新..
答案 0 :(得分:1)
第一种技术是长轮询,它向服务器发送请求并等待服务器发送内容,例如新消息。每次收到新消息或请求超时时,您都必须向服务器重新发送请求。这种技术使用AJAX。 长轮询PHP示例 - https://en.wikipedia.org/wiki/WebSocket
第二个是网络套接字,this stackoverflow question
socket.io处理websocket的实现。
{{3}}有一个聊天应用程序演示。
答案 1 :(得分:1)
如果您正在寻找双向全双工方法,那么请转到WebSockets
,但只是从服务器轮询数据,您也可以使用Server Sent Event
。为两者添加参考链接:
WebSocket:
http://html5demos.com/web-socket
http://en.wikipedia.org/wiki/WebSocket
HTML5 Websockets for Realtime Chat app?
SSE:
http://www.html5rocks.com/en/tutorials/eventsource/basics/
<强>示例:强>