weixin_52677262 2023-08-04 15:21 采纳率: 100%
浏览 14
已结题

关于#java#的问题:在进行Java网络编程时遇到java.net.SocketException: Connection reset错误

在进行Java网络编程时遇到java.net.SocketException: Connection reset错误,不知道怎么解决。使用的软件是IntelliJ IDEA 2023.2 (Ultimate Edition),JDK版本是20

下面这个是服务器端的代码

package com.example.chesswithnet.demo;

import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class server {
    public static void main(String[] args){
        try {
            System.out.println("服务器启动成功");
            //创建服务器,并启动,给服务器绑定一个端口号
            ServerSocket serverSocket=new ServerSocket(8080);
            //等待服务器来连接,accept代表已成功连接上服务器的客户端socket
            Socket accept= serverSocket.accept();
            System.out.println(accept);
            //读取客户端的信息,通过IO流,输入流进行读取
            InputStream inputStream=accept.getInputStream();
            byte[] bytes = inputStream.readAllBytes();
            System.out.println(new String(bytes));
        } catch (IOException e) {
            e.printStackTrace();//打印异常信息
        }
    }
}


下面是客户端的代码


```java
package com.example.chesswithnet.demo;

import java.io.IOException;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;

public class Client {
    public static void main(String[] args) {
        {
            try {
                Socket socket = new Socket(InetAddress.getLocalHost(),8080);
                //从客户端给服务端发送消息,主要通过IO流来实现
                //OutputStream:输出流
                OutputStream outputStream=socket.getOutputStream();
                //通过write方法往流中写内容
                outputStream.write("你好,服务器".getBytes());
                System.out.println("信息发送成功");
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}


原本是想发运行结果的截图的,但是不知道怎么回事,发不了,所有只能这样发,下面就是运行后发生的错误

```java
java.net.SocketException: Connection reset
    at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:313)
    at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:340)
    at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:789)
    at java.base/java.net.Socket$SocketInputStream.read(Socket.java:1025)
    at java.base/java.io.InputStream.readNBytes(InputStream.java:409)
    at java.base/java.io.InputStream.readAllBytes(InputStream.java:346)
    at com.example.chesswithnet/com.example.chesswithnet.demo.server.main(server.java:19)

  • 写回答

3条回答 默认 最新

  • 林间6 2023-08-04 15:37
    关注

    java.net.SocketException: Connection reset是一个常见的Java异常,通常在网络通信过程中出现。这个异常表示连接被重置,可能是由于网络中断、服务器关闭或其他原因导致
    删除这一段试试看,你需要先启动server,再启动Client

                //读取客户端的信息,通过IO流,输入流进行读取
                InputStream inputStream=accept.getInputStream();
                byte[] bytes = inputStream.readAllBytes();
                System.out.println(new String(bytes));
    

    img

    img

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月13日
  • 已采纳回答 8月5日
  • 修改了问题 8月4日
  • 修改了问题 8月4日
  • 展开全部

悬赏问题

  • ¥15 opencv图像处理,需要四个处理结果图
  • ¥15 无线移动边缘计算系统中的系统模型
  • ¥15 深度学习中的画图问题
  • ¥15 java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条
  • ¥15 Python报错怎么解决
  • ¥15 simulink如何调用DLL文件
  • ¥15 关于用pyqt6的项目开发该怎么把前段后端和业务层分离
  • ¥30 线性代数的问题,我真的忘了线代的知识了
  • ¥15 有谁能够把华为matebook e 高通骁龙850刷成安卓系统,或者安装安卓系统
  • ¥188 需要修改一个工具,懂得汇编的人来。