实时后台服务
Real Time Background Service
我现在正在使用 ionic 框架开发一个移动应用程序,它使用 larvel 4 REST API 对 MySql 数据库进行 CRUD 操作。基于应用程序需求,移动应用程序需要每次调用后端服务以完成某些过程。
我正在使用 Angular 资源来调用那些 APIs 并且我使用 Javascript setinterval 函数每 3 秒调用一次它们。但是,该应用程序正在运行,我真的不认为这是一个好习惯,因为这对服务器和客户端来说都是一项繁重的任务。
你们能指导我如何解决这种情况吗,我真的很感谢你的帮助。特别是,我应该设置哪种工具,它们是什么?谢谢。
setInterval
不是从您的 API server/DB 接收新数据的最佳做法,因为当太多用户访问您的网站时,服务器可能会被淹没。然而,有一个更漂亮的解决方案:WebSockets
。使用 websockets,您可以实时接收通知。我不是 PHP 开发人员,所以我不知道哪些 WebSocket 库用于 Laravel/PHP 开发。但是在 AngularJS 部分我可以推荐这个:https://github.com/gdi2290/angular-websocket
WebSocket 示例(不相关):http://jsfiddle.net/EAVvQ/24/
希望对您有所帮助。
干杯!
我现在正在使用 ionic 框架开发一个移动应用程序,它使用 larvel 4 REST API 对 MySql 数据库进行 CRUD 操作。基于应用程序需求,移动应用程序需要每次调用后端服务以完成某些过程。 我正在使用 Angular 资源来调用那些 APIs 并且我使用 Javascript setinterval 函数每 3 秒调用一次它们。但是,该应用程序正在运行,我真的不认为这是一个好习惯,因为这对服务器和客户端来说都是一项繁重的任务。 你们能指导我如何解决这种情况吗,我真的很感谢你的帮助。特别是,我应该设置哪种工具,它们是什么?谢谢。
setInterval
不是从您的 API server/DB 接收新数据的最佳做法,因为当太多用户访问您的网站时,服务器可能会被淹没。然而,有一个更漂亮的解决方案:WebSockets
。使用 websockets,您可以实时接收通知。我不是 PHP 开发人员,所以我不知道哪些 WebSocket 库用于 Laravel/PHP 开发。但是在 AngularJS 部分我可以推荐这个:https://github.com/gdi2290/angular-websocket
WebSocket 示例(不相关):http://jsfiddle.net/EAVvQ/24/
希望对您有所帮助。
干杯!