我即将开始一个游戏项目。这将是一款具有客户端-服务器架构的网络游戏,带有 Java 服务器以及 Web 和 Android 客户端。影响是低带宽(用于移动设备)和快速响应。客户端-服务器通信有哪些技术/库?我在 web 应用程序(GWT/Vaadin 和 servlets)方面有一定的经验,但不知道在实现游戏服务器时使用什么,主要是为了通信。
我知道我可以使用带有对象序列化的 Java 套接字或 JSON 将数据从客户端传递到服务器,但我不知道这些方法在带宽方面的效率如何?或者还有比这些更合适的吗?只需为我指明正确的方向就足够了。
提前致谢!
最佳答案
就 Android 客户端库而言,有两个主要选项。第一个是 java.net.* 包,您将主要在其中使用 HttpUrlConnection .
更好的选择是使用 Apache HTTP package这也是 Android SDK 中的标准配置。它使您在处理网络连接时有更多的控制权/灵 active /冗长性。
这是一个体面的example如何使用 Apache 客户端库。我建议使用这些,因为 java.net 包实际上只适用于最基本的 GET 请求。
我建议使用 JSON 方法,因为这样您就不必编写 Java servlet 后端来反序列化 Java 对象。然后后端可以独立于客户端进行更改。
关于带有 Android 客户端的 Java 游戏服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7312082/