【发布时间】:2014-03-07 16:46:20
【问题描述】:
我正在尝试一个简单的 Java 程序来发送和接收数据...服务器正在发送数据,客户端接收...但这会产生 Socket Exception : Connection Reset
这是我发送整数值的服务器端代码...
try {
ServerSocket server = new ServerSocket(9089);
Socket socket = server.accept();
OutputStream out = socket.getOutputStream();
out.write(12);
out.flush();
System.out.println("Data Sent....");
Thread.sleep(5000);
} catch(Exception e) {
System.out.println("Server Error : " + e.toString());
}
这是我接收该 Int 值的客户端代码...
try {
Socket client = new Socket(InetAddress.getLocalHost(), 9089);
System.out.println("Connected ....");
InputStream in = client.getInputStream();
while(in.available()>0)
{
System.out.println("Unavailable...");
}
System.out.println("Received : " + in.read() );
in.close();
} catch(Exception e) {
System.out.println("Sender Error : " + e.toString());
}
【问题讨论】:
-
你看到了什么行为?
-
显示从服务器数据发送的消息......但在客户端它进入“while(in.available>0)”循环几秒钟,然后生成SocketException......
-
我猜当你的服务器端从睡眠中返回时抛出了 SocketException。您的服务器端是否在睡眠后终止?