0

所以我最近关注了这个教程,用 Java 制作一个基本的聊天室。它使用多线程,是一个“面向连接”的服务器。我想知道如何使用相同的 Sockets 和 ServerSockets 来发送对象的 3d 位置,而不仅仅是一个字符串?

目前,基本的聊天室系统只是向服务器发送一个字符串,然后服务器将其发送给所有连接的客户端。我想要的是能够让客户端更改对象的位置(很可能是他们的角色),并将位置更改发送到服务器。然后(我想)服务器会将位置变化发送给连接到它的每个客户端,然后每个客户端将依次在其新位置呈现该对象。

我想知道做这种事情的最好方法是什么?是否会发送一个字符串并让服务器将其解析为坐标?我可以一次向 DataOutputStream 写入多个内容吗?

我觉得我可能解释得不好,所以请提出一些澄清问题。

谢谢!

4

1 回答 1

2

为您的坐标系创建域对象模型。然后使用上述模型中的对象表示位置的变化。将它们序列化为可传输的字符串,如 XML、JSON 等。然后将字符串解组/反序列化为原始对象并对其进行操作。

这将您的传输层(使用套接字广播内容)与实际的业务逻辑(对象的放置)分开,并且系统变得可扩展。

于 2012-05-11T21:35:49.063 回答