我见过许多网站(例如 Facebook 或堆栈溢出),它们会在生成新数据时更新某些功能(例如帖子上的新答案)。
假设有一个新帖子添加到博客中,并且在那一刻有人在博客中查看它,这个想法是自动将新帖子添加到博客中,而无需刷新或让用户执行任何操作。
我曾想过每 5 秒左右执行一次 AJAX 调用,但这会向服务器发出太多请求,而且我看到我提到的网站(更新内容)不会发出任何新请求。
我真的不知道如何实现这一目标。这对 PHP 和 AJAX 可行吗?我也听说过websockets。有任何想法吗?谢谢
我见过许多网站(例如 Facebook 或堆栈溢出),它们会在生成新数据时更新某些功能(例如帖子上的新答案)。
假设有一个新帖子添加到博客中,并且在那一刻有人在博客中查看它,这个想法是自动将新帖子添加到博客中,而无需刷新或让用户执行任何操作。
我曾想过每 5 秒左右执行一次 AJAX 调用,但这会向服务器发出太多请求,而且我看到我提到的网站(更新内容)不会发出任何新请求。
我真的不知道如何实现这一目标。这对 PHP 和 AJAX 可行吗?我也听说过websockets。有任何想法吗?谢谢
好问题!有几个解决方案。
这个调用 websockets 有一个相对较新的解决方案。它在 HTML5 标准中,并且在其他语言上也有很多库。
其中之一是 sockets.io ( javascript ) - 它使您能够与服务器保持一致、低延迟的连接,以便在生成信息时接收信息。服务器端还有很多用于 php、c 和 python 的插件。
仅举几例:libwebsockets (c++)、pywebsockets (python) 和 jetty (javascript)
对于 php:http ://socketo.me/
访问此链接了解更多信息:http ://www.html5rocks.com/en/tutorials/websockets/basics/
您可以使用HTML5 SSE。但这不是一个很好的解决方案。
您可以使用有助于长 AJAX 轮询的 Comet 服务器。查看Ajax 推送引擎 (APE)。它是 Comet Server 和 Javascript 框架的组合,使 AJAX-PUSH 或实时流媒体成为可能。
干杯!:)
SignalR http://signalr.net/是一个可以帮助您做到这一点的框架示例
这是特定于 asp.net 的
出色地,
如果你在 PHP 和开源世界,你可以考虑 Node.Js、Socket.IO 或 NowJs
我在 ASP.Net Wonderworld 中,我喜欢 SignalR。