0

クライアントには GUI にボタンがあり、クライアントがボタンを押すと、2 つの ArrayList がサーバーに送信されます。サーバーはどのようにそれらを分離できますか? 1 つのリストを送信する方法 この投稿を見つけましたが、サーバーで 2 つの異なる ArrayList を分離するにはどうすればよいですか? ソケットを使用して TCP 経由でサーバー側からクライアント側に ArrayList<String> を送信しますか?

4

1 に答える 1

1

を使用するObjectOutputStreamObjectInputStream、オブジェクトが自動的に「分離」されるようにプロトコルが抽象化されます。

単に配列リストを送信する必要があります。.writeObject(Object o);

myObjectOutputStream.writeObject(myArrayList1);
myObjectOutputStream.writeObject(myArrayList2);

そして、それらを受け取ります。readObject();

myArrayList1 = (ArrayList<String>)myObjectInputStream.readObject();
myArrayList2 = (ArrayList<String>)myObjectInputStream.readObject();

送信されたのと同じ順序でそれらを読んでいることを確認してください.


反対に、更新されたオブジェクトをストリームに書き込む場合は、必ず を呼び出し.reset()ObjectOutputStreamください。ストリームに既に書き込まれたオブジェクトを再送信して保存するための何らかの形式のキャッシュがあるためです。

于 2013-08-20T13:56:48.057 に答える