java socket 问题,服务器端可以接收客户端数据,但是,当客户端断电在连上时,服务器端收不到客户端的数据,除非重启服务器端才可以继续收到数据。我想让:及时客户端异常中断,随后在向服务器端发送数据的时候,服务器端不需要重启也能继续收到数据
public void run(){
try{
ServerSocket serverSocket = new ServerSocket(5007);
System.out.println("Server Listening");
while(true){
Socket socket1 = serverSocket.accept();
System.out.println("connection request:");
InputStream ips = socket1.getInputStream();
/*System.out.println(ips.toString());
InputStreamReader ipsr = new InputStreamReader(ips);
BufferedReader br = new BufferedReader(ipsr);
String s = br.readLine();
while(br.readLine() != null){
System.out.println(s);
s=br.readLine();
}*/
DataInputStream in = null;
in = new DataInputStream(ips);
String string = in.readLine();
String[] str = string.split("kg");
Double weight = Double.parseDouble(str[0]);
String b = str[1];
Double price = Double.parseDouble(b.replaceAll("\\D+", ""));
String type = b.replaceAll("\\d+", "");
Double totalPrice = price*weight;
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String datetime = df.format(new Date());
DBUtil.add(type,weight,price,totalPrice,datetime);
socket1.close();
}
}catch (Exception e){
System.out.println(e);
}
}
求帮助啊,,,!!!
服务端估计也抛出异常了吧,while循环就结束了,服务器端的这个监听线程应该会结束。注意 try catch的使用位置
server端弄一个accept()的while死循环