0

そこで私は最近、このチュートリアルに従って Java で基本的なチャットルームを作成しました。マルチスレッドを使用し、「接続指向」のサーバーです。同じ Sockets と ServerSockets を使用して、たとえば、単なる文字列ではなくオブジェクトの 3D 位置を送信するにはどうすればよいでしょうか?

現在、基本的なチャットルーム システムは文字列をサーバーに送信するだけで、サーバーはそれを接続されているすべてのクライアントに送信します。私が望むのは、クライアントがオブジェクトの位置 (おそらくそのキャラクター) を変更し、位置の変更をサーバーに送信できるようにすることです。次に (私が想像するに) サーバーはその位置の変更を接続されている各クライアントに送信し、各クライアントはこのオブジェクトを新しい位置にレンダリングします。

このようなことをする最善の方法は何だろうと思っていました。文字列を送信し、サーバーにそれを座標に解析させることでしょうか? 一度に複数のことを DataOutputStream に書き込むことはできますか?

説明が不十分だったような気がしますので、分かりやすい質問をお願いします。

ありがとう!

4

1 に答える 1

2

座標系のドメインオブジェクトモデルを作成します。次に、上記のモデルのオブジェクトを使用して、位置の変更を表します。それらをXML、JSONなどのトランスポータブル文字列にシリアル化します。次に、文字列を元のオブジェクトに非整列化/逆シリアル化し、それらに基づいて動作します。

これにより、トランスポート層(ソケットを使用してブラッドキャストするもの)が実際のビジネスロジック(オブジェクトの配置)から分離され、システムが拡張可能になります。

于 2012-05-11T21:35:49.063 に答える