我想写一个Android应用程序,一个可以在本地和在线播放的纸牌游戏。这意味着我们有客户端(Android手机)和服务器。理想情况下,Android手机应该能够用作服务器并托管游戏(并同时播放)。我不想在服务器和客户端之间复制代码。
这就是我的想法:让应用程序包含服务器部分,它可以由应用程序本身独立运行,或者不包含应用程序(在计算机上)。 在本地游戏中,将为服务器运行一个线程,为客户端运行另一个线程(通过localhost与本地服务器通信)。在在线游戏中,远程服务器正在运行,本地客户端通过网络与之通信。
我的问题是:
我希望我能够清楚地了解这个问题。 提前感谢你。
答案 0 :(得分:0)
是的,您的应用可以通过TCP套接字与自身进行通信,这应该不是问题。我建议你看一下将大部分服务器功能放入一个jar文件中,然后你会有一个Android APK,可能还有一个单独的桌面Java前端。您可能需要一个特定于每个平台的托管代码。例如,如果您希望能够在后台托管服务器,那么将服务器置于Android Service
中可能是有意义的。