2012-03-03 4 views
0

私はサーバークライアントアプリケーションを持っています。クライアント側では、私は、出力データには、このI/Oストリームを使用しています。サーバー側でPrintWriterが送信し、DataInputStreamはそれを読み取ります

out = new PrintWriter(socket.getOutputStream(), true); 
     out.println("yeah"); 

私はこのラインで製品を読みしようとしています:

DataInputStream din = new DataInputStream(s.getInputStream()); 
    String clientId = din.readUTF(); 

サーバが到達しました上記のステートメントを実行し、そこで停止します。どうしたの? 2つのI/Oストリームは互いに互換性がありませんか? どちらのパーティからも例外がスローされず、出力もありません。私は単に私が上記の文の前と後のSystem.out.println()を追加=と私はプログラムがこのラインを通過していないと判断:String clientId = din.readUTF();

+0

「サーバーが上記の文に達してそこで停止する」とはどういう意味ですか、例外、エラー、何がありますか?人々があなたの質問を理解できるように、問題の詳細を記入してください。 – Juvanis

答えて

0

あなたはDataInputStream.readUTF()とソケットの他端から読みたい場合は、DataOutputStream.writeUTF()メソッドを使用する必要があります。理由の詳細についてはDataInputJavadocを参照してください。代わりに、buffered readerまたはスキャナを使用してデータを読み取ってみてください。