问题描述
- java socket 客户端异常中断问题
-
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死循环
解决方案五:
java socket 服务器端接受 C socket 客户端消息
时间: 2024-08-02 04:07:59