>一个用于交换消息.
>两个用于文件传输.
我在Server中创建了两个ServerSockets,以便创建Socket One和Two
通过接受ServerSockets.
起初,客户端通过第一个Socket发送一些字节
这样它就可以告诉服务器它需要哪个文件.
然后服务器通过第二个套接字将文件发送到客户端.
客户端收到文件后,尝试向服务器发送一个Transfer Done Message.
在那里,我得到了关闭套接字的异常.
但是我直到现在才关闭套接字.
我只关闭发送文件的缓冲区.
即使我在发送文件后尝试再次打开socketInputStream,错误仍然是相同的.
此外,如果我不关闭发送文件的缓冲区,客户端将不会获取该文件.
服务器异常
Error in Return Message – java.net.SocketException: socket closed
客户端例外
Server response – java.net.SocketException: Software caused connection abort: socket write error
我究竟做错了什么?
解决方法:
“Socket closed”异常意味着捕获该异常的应用程序关闭了套接字,然后继续尝试使用它.您可能不知道关闭套接字的输入或输出流也会关闭另一个流和套接字.对于“软件导致连接中止”,请参阅重复链接.
标签:java,sockets,tcp,client-server,socketexception
来源: https://codeday.me/bug/20190926/1819802.html