我有一个网络服务器,目前正在从主机租用。他们不允许 webrtc 或 node.js 或类似的东西。
我有一个使用 PHP/SQL/Ajax 的消息传递系统(当用户查看消息线程时,它每 60 秒获取一次新数据)但这似乎不是即时的,而且如果有很多用户,它似乎对服务器来说不是很方便在...上。
所以,我的问题是:有什么方法可以实时更新我的用户数据,而不必不断请求新数据,也不必使用 websockets?
我也想通过通知和评论来实现这一点,所以有很多 ajax 脚本每 x 秒请求一次数据似乎不是一个好主意。
就个人而言,我建议您的问题的最佳解决方案是使用 websocket. 这是目前最有效的方法。关于这一点:
他们不允许 webrtc 或 node.js 或类似的东西。
您可以找到一些可以让您运行 websocket 服务器的主机。例如https://www.digitalocean.com,您可以在其中设置/安装自己的套接字服务器。
我有一个使用 PHP/SQL/Ajax 的消息传递系统(当用户查看消息线程时,它每 60 秒获取一次新数据)但这似乎不是即时的,而且如果有很多用户,它似乎对服务器来说不是很方便在...上。
我认为您目前使用的这种方法是AJAX Polling您在每个时间间隔内持续请求数据库中的新更新。这对于最小更新来说是可以的,但我个人不建议使用这种方法。从长远来看,每个时间间隔的每个请求都会影响您的应用程序速度和性能。这就是为什么你是正确的:
我也想通过通知和评论来实现这一点,所以有很多 ajax 脚本每 x 秒请求一次数据似乎不是一个好主意。
和这个:
所以,我的问题是:有什么方法可以实时更新我的用户数据,而不必不断请求新数据,也不必使用 websockets?
是的,有一种使用SSE (Server-Sent Events) 的方法。检查w3fools的示例:D。
但以防万一你再次考虑 websockets,你可以尝试 websocket for PHP: Ratchet。
另请查看:为 Web 应用程序发出请求/获取实时更新的方法。
| 归档时间: |
|
| 查看次数: |
2165 次 |
| 最近记录: |