gpt4 book ai didi

java - 套接字异常 : Connection Reset when trying to read from socket in Java?

转载 作者:可可西里 更新时间:2023-11-01 02:33:20 24 4
gpt4 key购买 nike

我的应用程序在 Java 套接字方面遇到了一些恼人的麻烦,似乎在非常基本的层面上失败了。我的部分应用程序需要通过 TCP 连接写入文件名。接收端代码如下:

ServerSocket serverSocket = new ServerSocket(4445); 
Socket socket = serverSocket.accept();
BufferedReader reader = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
String filename = reader.readLine();

虽然我的发件人代码如下:

    Socket socket = new Socket(InetAddress.getLocalHost(), 4445);
PrintWriter writer = new PrintWriter(socket.getOutputStream());
writer.write("Test.jpg");

这里是非常非常基本的东西,但出于某种原因,我在运行时收到 SocketException: Connection Reset?这是完整的堆栈跟踪:

Exception in thread "main" java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
at sun.nio.cs.StreamDecoder.read(Unknown Source)
at java.io.InputStreamReader.read(Unknown Source)
at java.io.BufferedReader.fill(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
at FileReceiver.main(FileReceiver.java:11)

FileReceiver.java:11 行是调用 reader.readLine() 的行。我一辈子都弄不明白哪里出了问题,类似地,TCP 套接字的基本使用在过去一直对我有用,为什么现在会发生这种情况?

最佳答案

接收方正在等待您的发送方永远不会发送的行尾。在发送方尝试类似 println() 的方法。

关于java - 套接字异常 : Connection Reset when trying to read from socket in Java?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8228357/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com