如何在不刷新页面的情况下将新的HTML数据从服务器推送到浏览器

mul*_*axp 5 html ajax html5 asynchronous websocket

我已经看到许多网站(例如Facebook或堆栈溢出)将在生成新数据时更新某些功能(例如,帖子上的新答案).

可以说,博客中添加了一个新帖子,当时有人在博客中查看它,想法是自动将新帖子添加到博客而不刷新或让用户执行任何操作.

我曾想过每5秒左右执行一次AJAX调用,但这会对服务器发出太多请求,而且我看到我提到的网站(更新内容)没有提出任何新请求.

我真的不知道如何实现这一目标.PHP和AJAX可以实现吗?我也听说过websockets.有任何想法吗?谢谢

tay*_*10r 5

好问题!有一些解决方案.

这个调用websockets有一个相对较新的解决方案.它符合HTML5标准,并且在其他语言上也有很多库.

其中之一是socket.io(javascript) - 它使您能够与服务器保持一致,低延迟的连接,以便在生成时接收信息.服务器端还有很多用于php,c和python的插件.

仅举几例:libwebsockets(c ++),pywebsockets(python)和jetty(javascript)

而对于PHP:http://socketo.me/

有关详细信息,访问此链接:http://www.html5rocks.com/en/tutorials/websockets/basics/