中易网

java.net.SocketException: Connection reset

答案:4  悬赏:70  
解决时间 2021-02-18 15:16
运行时。。。出现这个异常怎么解决啊!
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:113)
at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2266)
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2279)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2750)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:780)
at java.io.ObjectInputStream.(ObjectInputStream.java:280)
at com.qq.server.model.SerConClientThread.run(SerConClientThread.java:32)
最佳答案
连接重置

K掉一切与JAVA有关的进程

附代码:
taskkill /im java.exe /f
taskkill /im javaw.exe /f

把这两段分别Copy到运行里 敲回车
重启服务器 就可以了
全部回答
重复连接,证明你现在的服务器已经开启了,最好把服务器关了,再重新启动服务器
给这个异常抛出

java.net.socketexception: connection reset 是在服务器端出现的错误,还是在客户端出现的错误? 出现该错误应该是连接异常关闭造成的。

由于你的代码不全,如果没有看错的话下面的错误 at com.beiju.main(beiju.java:38) 应是 if (input.read(serverbyte) == 0) 代码抛出的错误

应该是你读字节流时阻塞了,最后超时导致 java.net.socketexception: connection reset

由于代码不全,只能简单的改写一下,调整了一下代码结构,解决读取流字节为空的问题。 但是,由于字节流超过1024个字节,导致read阻塞的问题还没有改。这需要使用 input.available() 方法。 以下是重新改写的代码,已经测试通过,运行即可,有问题请给我留言。

    public static void main(string[] args) throws unknownhostexception,     ioexception {     socket socket = null;     outputstream output = null;     inputstream input = null;     byte clientbyte[] = new byte[2]; // 发送给服务端的字节数组     byte serverbyte[] = new byte[1024];// 接收给服务端的字节数组     clientbyte[0] = (byte) 0xc1; // 给数组赋值     clientbyte[1] = (byte) 0x01; // 给数组赋值     try {     socket = new socket("127.0.0.1", 10000); // 连接服务端     output = socket.getoutputstream(); // 获得socket 连接的输出流     input = socket.getinputstream(); // 获得socket 连接的输入流,需要提前构造,否则无法接收数据     output.write(clientbyte); // 把clientbyte写入输出流 //    byte bb[] = "aaaa\n".getbytes(); //    output.write(bb); // 把clientbyte写入输出流     output.flush(); // 刷新此输出流并强制写出所有缓冲的输出字节。          // 读取输入流返回为0,提示没收到字节!     //因为使用了缓存数组1024,所以一次性读满1024。否则将使用while进行循环读取,直到input.read(serverbyte) == -1     int len = input.read(serverbyte);     if (len > 0) {//读取到字节     system.out.println("读取到字节。! " + len);     } else if (len == 0) {//没有读取到字节     system.out.println("没有取到字节。!");     // 读取输入流返回为-1,提示没有可用的字节 !     } else if (len == -1) {//读取结束     system.out.println("读取结束");     }     //循环显示读取到的数据     for(int i = 0 ; i < serverbyte.length ; i++){     system.out.print(serverbyte[i]);     }     system.out.println("");     } catch (exception e) {     e.printstacktrace();     } finally{     if(input != null){     try{     input.close();     }catch(exception e) {}     }     if(output != null){     try{     output.close();     }catch(exception e) {}     }     if(socket != null){     try{     socket.close();     }catch(exception e) {}     }         }     }

我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
应聘中面试盖如何自我介绍
移动轻松卡收费标准如下: 资费名称
退机票一般要扣百分之几,在代售点能退吗?或
为什么唤醒后小爱同学没有反应啊 那位大神
excel2003中怎么能快速查找想要找的人
刚升级的手机qq,聊天页面,上面和下面与背景
开心蛋糕房这个地址在什么地方,我要处理点事
GVGNP ZZ 有什么连招?
74HC245可用什么代替
我是江苏文科考生,328分,能上西北师范大学
苹果手机微信语音说话没声音是怎么回事
甲乙两桶油一样重,甲桶倒出130克,己桶加入2
关于ZARA尺码问题
三叶图片社地址在哪,我要去那里办事
磁悬浮真的成本很低么
推荐资讯
手像火烧一样疼
求小说名字,主人公是穿越到三国帮曹操打天下
能用中国银行里的ATM机往浦发银行的卡里存现
幼儿教师资格证考试其中的综合素质重点是什么
哪个游戏是走路能从手机看出来的
和老板因为工作问题吵架,老板让辞职,也写了辞
有没有人知道有个皮肤管理器,就是把那些下载
成都有没有类似于公共图书馆的地方?在哪儿?
最近中九小天锅怎么搜不到贵州台了
第一个提出公共的学前教育思想的教育家是谁
一杆秤麻辣烫南宫店地址有知道的么?有点事想
女生和男生都是左心右肺吗
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?