我正在通过 TCP 创建一个 java 客户端/服务器应用程序,我们有两个套接字:
- 一种是用于交换消息。
- 二是用于文件传输。
我在服务器中创建了两个 ServerSocket,以便
通过接受 ServerSocket 来创建 Socket 1 和 2。
首先,客户端通过第一个 Socket 发送一些字节,
以便它可以告诉服务器它需要哪个文件。
然后服务器通过第二个套接字将文件发送给客户端。
客户端收到文件后,会尝试向服务器发送一条传输完成消息。
在那里我得到了关闭套接字的异常。
但是,直到现在我才关闭套接字。
我只关闭发送文件的缓冲区。
即使我在发送文件后尝试再次打开socketInputStream,错误仍然相同。
此外,如果我不关闭发送文件的缓冲区,客户端将不会获取文件。
服务器异常
返回消息中的错误 - java.net.SocketException:套接字已关闭
客户端异常
服务器响应 - java.net.SocketException:软件导致连接中止:套接字写入错误
我究竟做错了什么?