我正在做套接字编程。我有两个名为 Server.java 和 client.java 的文件。两个程序都成功运行并成功地相互发送数据。昨天我在 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() 的 catch 中发生异常之后。两次都只显示 True。