0

我正在创建一个多人游戏。现在我来到了需要获取并跟踪客户端所有传入服务器消息的点。我看到一个AsynTask类为我做后台工作。你认为这是去追踪所有信息并将它们传递给不同活动的方式吗?还是有更好的方法来做到这一点?Android多线程连接游戏

我怎么看这个:

//或多或少伪代码

public class .... extends AsyncTask { 

    Connection connection = new Connection(); 
    connection.setUpConnection(); 

    doInBackground() { 
      processIncomingMessages(); 
      processOutgoingMessages(); 
    } 
} 

另外,如果我创建这个AsynTask来跟踪我的消息,我在哪里需要创建这个?也许是在我的第一个活动的创造?

在此先感谢您的帮助!要在同一应用中从多个活动中使用

亲切的问候, 布拉姆

+2

您可能会考虑查看[Google Play游戏服务实时多人游戏](https://developers.google.com/games/services/android/multiplayer),因为它可以为您做很多工作,包括将玩家连接在一起并处理消息发送/接收。 – ianhanniballake

回答

0

对于后台操作,您可以使用本地服务。请参阅an example

+0

在我的理解中,服务类不是在单独的线程中运行。尽管如此,谢谢你的回应。 – Bram

+1

服务等级不运行。服务函数可以在UI线程上运行,在binder线程上运行,你可以启动异步任务,用你自己的looper线程创建一个处理程序,有很多选项。尽管不要使用AsyncTask进行长时间处理 - 它们都共享一个小线程池(或者只有一个线程取决于版本) – msh