我正在构建一个用户可以注册的Web应用程序,添加他们想要关注的twitters提要,并且他们的流会在他们关注的提要接收新帖子时更新。
我的平台是Laravel。但是,我无法想到实现网站实时更新方面的最佳方式。
我会使用一个定期调用的AJAX函数(例如每30秒),但随着用户数的增加,这个方法也会增加。
我研究过HTML5服务器端事件但不幸的是不支持IE。
在Laravel应用程序中实现此功能的最佳方法是什么?
谢谢,
尼克
答案 0 :(得分:3)
你可以实时使用pusher或node.js.在laracast中,你会发现一个视频如何做到https://laracasts.com/series/intermediate-laravel/episodes/4
答案 1 :(得分:3)
您有两种选择:
您可以在此处阅读有关websockets的更多信息: https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API
您可以在此处阅读有关长轮询的更多信息: https://www.quora.com/Why-would-HTTP-long-polling-be-used-instead-of-HTTP-Streaming-to-achieve-real-time-push-notifications
简而言之:
websockets运行在与通常应用程序不同的端口上,因此访问所有资产可能有点奇怪(取决于您的系统架构)。
长轮询是一个非常长的http请求,可以持续长达几分钟,而不是每30秒发送一次请求,每次服务器返回响应时都会发送请求。这意味着如果服务器花了5分钟来返回响应,那么您每5分钟只发送一次请求。 (例如,没有理由提醒客户端没有任何改变,所以你可以睡觉(30)并再试一次)
作为旁注,除非您需要实时数据,否则我认为长轮询更容易实现并使用laravel等框架。
答案 2 :(得分:1)