好的,我已经为此工作了好几天,但在任何地方都找不到任何信息。我制作了一个运行良好的简单游戏,但我想添加两个玩家的功能。我已经通过 LAN 与另一台计算机建立了连接,但我不知道如何发送数据。我了解写入 ObjectOutputStream 的内容,但是如何让对方解释它?我是否分别发送每个变量?截至目前,我正在尝试为敌人、玩家位置、得分和生命发送一个数组。如何以客户能够理解的方式发送和接收它?感谢您的帮助,如果我的要求不清楚,我很抱歉。我不知道如何表达它。
问问题
127 次
2 回答
2
这真的取决于。我认为只发送文本数据流是一个好主意,这将允许您更好地调试您的应用程序,并使其他语言编写的其他应用程序与您自己的应用程序交互成为可能。
您可以查看XStream (此处为教程)。这将允许您轻松地将数据转换为 XML 格式并发送。
为了澄清起见,您仍然会最终将数据作为字节发送。但在我的建议中,字节将代表字符串而不是序列化的 Java 对象。
编辑:根据您对另一个问题的评论,您可以这样做:
public class GameDataProtocol
{
private Enemy[] enemies;
private Point position;
private int score;
private int liveCount;
//Constructors, Getters and Setters.
}
您将使用您的信息填充上面的类,将其编码为 XML 并将其发送到客户端。客户端将对其进行解码并相应地更新数据。
于 2012-06-25T05:46:49.207 回答