实现这一点的最佳方法是什么?我有一个 Android 应用程序,它将使用我的 python 服务器来允许两部手机之间进行轮流通信。回合意味着他们在一轮开始之前不能互相交谈,一旦他们发送一条消息,他们就不能发送另一条消息,直到对方做出回应,然后开始新一轮。
我想我会使用 IntentService 但让服务器不断启动和停止似乎是错误的,我不必担心 asynctask 的问题,或者这是处理它的最佳方法。我怎样才能有一个应该接收消息并向客户端发送消息的服务,似乎服务更像是一种方式?
意图服务只不过是由意图触发的工作线程,在单独的线程中执行其操作,然后关闭。它们被设计为启动和停止。
如果您需要执行诸如 http get 之类的操作,或者在任何情况下不需要与服务器保持连接的交互,请使用意图服务并使用广播事件通知您的活动。
如果您的应用程序需要与服务器保持连接(即永久 tcp 连接),我会采用的方法是拥有一项服务(不是意向服务),该服务使用 asynctask 或更经典的线程托管在服务。然后,您可以使用 bindToService() 使活动与服务交互。
我建议不要在活动中使用异步任务。正如 oneilse14 在他的回复中所述,如果水平/垂直视图发生变化,您将面临失去服务器响应的风险。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)