2012-02-18 8 views
1

なぜ、突然私はTCPソケットを介してListを送受信する際に問題に直面しているのですか?最初は成功しました。ここに私の転送コードは次のとおりです。 送信者:List <>オブジェクトをソケットで送信する際の問題

List<String> A = ....; 
ObjectOutputStream out = new ObjectOutputStream(soc.getOutputStream()); 
System.out.println("Wrinting the answers"); 
out.writeObject(A); 
System.out.println("Wrote the answers, now reading the flag"); 

私が正しくSOPを取得しています、しかし、レシーバが待機している状態になります:ここで

ObjectInputStream in = new ObjectInputStream(soc.getInputStream());    
ls = (List<String>)in.readObject(); 
System.out.println("Recieved the list of results"); 

私はSOPを取得していないですし、受信機は、に続きます待機状態にある。 追加するには:私はリストを転送することに成功しましたが、ここでいくつかの変更を加えましたが、今は何が問題なのか分かりません。私は実際に別のリスト<も転送しようと思っていますが、最初の問題を解決したときだけ試してみます!あなたの答えをありがとう。..

+1

試みがタイプオブジェクトと*オブジェクト*です – Prabhavith

+2

リストを送信するために、リストオブジェクトを変換します。変換するものはありません。 –

+1

あなたが書いたデータがバッファされているので、SOPは正常に動作しています。オブジェクトを書き終えたら、 'out.flush()'を呼び出すべきです。 – SuperSaiyan

答えて

2

はこれを試してみてください:

ObjectOutputStream out = new ObjectOutputStream(soc.getOutputStream()); 
System.out.println("Wrinting the answers"); 
out.writeObject(A); 
out.flush(); // flush the stream! 
System.out.println("Wrote the answers, now reading the flag"); 
+0

私はフラッシュしようとしていましたが、まだ私は同じ結果を得ていません。 – Purushottam

関連する問題