Java网络,超越简单的聊天室

时间:2012-05-11 21:30:41

标签: java networking

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

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

我想知道最好的做这样的事情的方式是什么? 是发送一个字符串并让服务器将其解析为一个坐标? 我可以一次向DataOutputStream写一个以上的东西吗?

我觉得我可能解释得很差,所以请问一些澄清的问题。

谢谢!

1 个答案:

答案 0 :(得分:2)

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

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