2012-04-07 23 views
0

に、クライアントの状態にアクセスするクライアントが、クライアントサーバー環境では、クライアント・サーバ環境

sock = new Socket(serverName, SERVER_PORT); 
fromServer = new BufferedReader(new InputStreamReader(sock.getInputStream())); 
toServer = new PrintStream(sock.getOutputStream()); 

toServer.println(json.toString()); 

を接続した後、私は、クライアントの状態に関する情報が含まれていることになる、サーバーにBeanを送りたいです。

唯一注意すべき点は、Beanを作成してデータでデータを取り込み、Xstreamを使用してBeanをjson形式に変換し、jsonをサーバーに送信し、サーバー側で再構成することです。

もっと簡単な方法はありますか?

+1

[ObjectOutputStream](http://docs.oracle.com/javase/6/docs/api/java/io/ObjectOutputStream.html)は、同じことを行う簡単な方法です。しかし、クライアントとサーバーの実装をかなり緊密に結合します。これは悪いことかもしれません。 – millimoose

答えて

1

はいもっと簡単な方法は、単純にあなたのオブジェクトにSerializableを実装させるだけで、すべてのことを行うためにJavaのシリアライゼーションフレームワークを使用することです。ソケットの出力ストリームをObjectOutputStreamでラップして、オブジェクトに書き込むように伝えます。あなたが知っておくべきであるJava's frameworkを使用するときには、多くの問題がありますが、それはまだ多くのプロジェクトに適しています。