【发布时间】:2015-06-17 21:24:44
【问题描述】:
我目前正在使用 Ionic 框架开发一个 Apache Cordova 应用程序,该应用程序应该通过 WebSocket 与我的服务器通信,并且我使用 Socket.Io 库。现在我面临两个问题:
-
当应用程序进入后台(cordova
李>pause事件)时,例如通过主页或待机按钮,一段时间后,套接字关闭并且客户端断开连接。 当我通过 android 设备上的硬件后退按钮退出应用程序时,套接字甚至会立即关闭。
到目前为止我所尝试的:
socket.io.reconnect()或socket.io.connect()当disconnect事件触发时$scope上的$destroy事件触发时相同(Ionic 在 AngularJS 之上工作)
基本上,我只想在用户启动应用程序后保持 WebSocket 连接处于活动状态,直到通过任务管理器或类似工具手动终止它。
我已经彻底搜索了这里的所有相关问题,但它们不适合我的情况。我真的需要这个东西来工作,如果有任何帮助,我将不胜感激。
【问题讨论】:
-
我不是 Cordova 专家,但如果您在本机 ADK 中开发此功能,我会说您必须更改您的设计而不需要在您的应用程序中打开一个套接字。 Android 可以并且会在需要时退出任何后台应用,在 JS 框架中开发的资源和应用也不例外。
-
如果你不能使用GCM之类的东西,通常这应该是一个后台服务。 developer.android.com/training/run-background-service/… 不确定是否可以在科尔多瓦开发
-
@farshad90 我的应用程序没有立即关闭连接,相反,当应用程序没有响应时,服务器会在一段时间后关闭连接。如何在应用进入后台或退出后立即关闭连接?
标签: angularjs cordova socket.io ionic-framework