java socket 客户端异常中断问题

问题描述

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

java socket 客户端异常中断问题的相关文章

java socket客户端能不能单线程一次连接服务器然后进行多次对话?

问题描述 java socket客户端能不能单线程一次连接服务器然后进行多次对话? 像qq那样,客户端跟服务器都可以发多条消息,我在想客户端能不能通知下服务器自己的输出流有变化 解决方案 http://blog.csdn.net/mydreamongo/article/details/8194264 解决方案二: http://blog.csdn.net/liuzesoft/article/details/30247649 解决方案三: 输出流变化是什么意思???? 解决方案四: java so

socket客户端异常-客户端第二次输入用户名时,会提示主线程由于软件引起连接中断异常,求大神分析原因!

问题描述 客户端第二次输入用户名时,会提示主线程由于软件引起连接中断异常,求大神分析原因! /* 需求: 在客户端,输入用户名,如果该用户名在系统数据库存在,则提示欢迎登陆,如果不存在,则提示用户不存在,每个IP限制登陆三次/ import java.io.; import java.net.*; class LoginClient { public static void main(String[] args)throws Exception { Socket s=new Socket("19

java socket 客户端和服务器端互相通信(聊天)

客户端: package com.lzx.socket; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; public class SocketClient { public static void main(String[] args) throws IO

简单的java socket客户端和服务端示例_java

客户端 复制代码 代码如下: import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.Socket; public class MyClient {      public static void main(String[] args) throws Exception {          Socket socket = new Socke

java Socket客户端和服务器端

客户端: package com.lzx.socket; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; import java.net.UnknownHostException; import org.xml.sax.InputSource; public

java Socket客户端接受服务器处理结果发生EOFException

问题描述 具体情况是:客户端通过Socket套接字发送用户注册信息和文件到服务器,服务器接受数据信息并进行了相应的数据库保存操作,然后将处理结果发送回客户端,而客户端执行Stringresult=dis.readUTF()时发生EOFException,服务器测试发出了处理结果.请大家帮助解决一下!谢谢! 解决方案 解决方案二:EOFException表示流读到结尾了,这是一个正常的异常啊.得到这个异常时,你用catch捕获,以便让程序继续运行,在catch的主体里面,你可以不作任何处理,你也可

server-java socket客户端和Python socket客户端的不同?高C币!!

问题描述 java socket客户端和Python socket客户端的不同?高C币!! 我们接的项目有一个java写的server,我只有它的文档,并且用java已经实现,但是现在要为 python实现,用java实现的代码: public static void main(String[] args) throws WindException, SendException, RecvException{ String host="172.22.128.16"; int port=

利用java socket 写的一个联机的五子棋游戏,服务器端和客户端的问题,大神求教啊。。

问题描述 利用java socket 写的一个联机的五子棋游戏,服务器端和客户端的问题,大神求教啊.. 利用java socket 写的一个联机的五子棋游戏,一个服务器端的程序和两个玩家的客户端程序,可不可以都运行在同一台主机上啊? 我运行服务器端和其中一个玩家的客户端程序时,正常.但是运行第二个玩家的客户端程序时,就出现了 Java.net.BindExecption Address already in use: JVM_Blind. 的异常.怎么办? 还有我打算客户端把下的棋子的对象传给服

线程-使用Java socket让客户端与服务器建立连接后,服务器如何判断来自客户端的各类请求

问题描述 使用Java socket让客户端与服务器建立连接后,服务器如何判断来自客户端的各类请求 初学java,目前写了一个服务端和一个客户端.大致了解了如何socket通信是如何操作的,并且初步实现了客户端和服务端的通信.也仅仅是是接受和返回简单的字符串.部分代码如下 public void run(){ try{ serverSocket=new ServerSocket(SERVER_PORT_ONE); System.out.println("serversocket已创建"