gpt4 book ai didi

java - 关闭客户端套接字时如何防止 "Connection reset"错误?

转载 作者:行者123 更新时间:2023-12-01 04:58:51 25 4
gpt4 key购买 nike

如果这很简单,请原谅我,因为我对服务器/客户端编码相当陌生,并且正在尝试自学。

我已经制作了一个服务器和客户端,它们在运行时工作正常并完美交互。我遇到的问题是当我退出包含客户端的应用程序时。一旦我这样做,我就会收到一个无休止的错误:

null -- Connection reset
java.net.SocketInputStream.read(SocketInputStream.java:113)
java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
java.io.BufferedInputStream.read(BufferedInputStream.java:317)
sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)
sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
sun.nio.cs.StreamDecoder.read0(StreamDecoder.java:107)
sun.nio.cs.StreamDecoder.read(StreamDecoder.java:93)
java.io.InputStreamReader.read(InputStreamReader.java:151)

在客户端对套接字的引用上调用 close() 方法似乎对此没有任何影响。我尝试从服务器调用 if(socket.isClosed()),但它说即使客户端关闭它,它仍然打开。

当我的应用程序退出时,如何优雅地处理关闭流和套接字?

最佳答案

如果可能的话,您可以发送一些命令来告诉您的服务器应用程序关闭连接。

关于java - 关闭客户端套接字时如何防止 "Connection reset"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13645945/

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