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