ソケットプログラミングをしています。Server.java と client.java という 2 つのファイルがあります。両方のプログラムは正常に実行され、相互にデータを正常に送信していました。昨日、次の行を client.java ファイルに追加しました。
//old line
out.writeUTF(dbdata); //dbdata was written successfully and sent to the server program
try
{
//my socket connection object name is sock
String data1="1000";
System.out.println(data1);
out.writeUTF(data1); this line causes the error
}
catch(Exception e)
{
System.out.println("Exception :: "+e);
}
行 out.writeUTF(data1) が実行され、catch がそれをキャッチすると、例外が BROKEN PIPE として表示されます。
data1 を読み取る server.java の内容は次のとおりです。
String data1;
try
{
data1=in.readUTF();
}
catch(Exception e)
{
System.out.println("Server Exception :: "+e);
}
また、out.writeUTF(data1) の前に isConnected() で接続が開いているかどうかを確認し、キャッチで例外が発生した後に isConnected() を実行しました。両方ともTrueのみを示しました。