我已经编写了一个客户端-服务器应用程序,其中客户端是一个Android应用程序,服务器端是用纯java编写的。
我想做的是,在客户端应用程序上创建一个服务。此服务应始终侦听来自服务器的消息(显然是在不同的线程上,而不是在主线程上--无论如何,在主线程上运行的服务有什么意义?)并能够发送响应,即使应用程序处于待机或关闭状态(就像Whatsapp或Facebook即使在应用程序关闭时也会收到消息一样)。
服务将通过广播意图与活动通信,活动将通过BroadcastReceiver侦听意图。
我所做的是实现的:
public class ServerProxy extends Service
pub
我有一堆不同的服务和脚本(MongoDB服务器、ElasticSearch服务器和NodeJS),它们在Amazon Web Services上的EC2实例上运行。当我积极地使用自己的计算机从命令行访问和使用这些服务时,这些服务工作得很好,但只要有一段时间不活动,超过几个小时,我就会收到一条断开管道连接的错误消息。
我已经尝试了设置ssh配置和增加ServerAliveInterval值,但是,每当我离开计算机无人值守或计算机进入睡眠状态时,这些服务停止工作,有没有办法强制它们无限期地存活?