Java-对等方重置连接:套接字写入错误



我正在尝试使用Java Spring Boot实现基本的FTP客户端,我遇到了这个问题,我想问你,你是否有任何经验。

我让我的Tomcat服务器运行,并将我的计算机置于睡眠模式,大约3个小时后,我唤醒了PC,服务器仍在运行,所以我尝试调用端点(该端点应该检查连接,然后将文件上传到FTP服务器(,但我收到了以下异常消息:

对等方重置连接:套接字写入错误

您认为这是因为电脑长时间睡眠而失去连接造成的,还是应该是其他原因?如果是,我应该如何处理这个案子?

当我重新启动服务器时,文件上传正常。

这是我的端点类:

@PostMapping("/upload")
public String uploadFile(@RequestParam("file") MultipartFile file) {
try {
FTPClient ftpClient = Connection.getFtpClient();
if (!Connection.isConnected()) { Connection.connect(); }
ftpClient.changeWorkingDirectory("/AiDisk_a1/usb/");
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
InputStream inputStream = new BufferedInputStream(file.getInputStream());
ftpClient.storeFile(file.getOriginalFilename(), inputStream);
return "Status: " + ftpClient.getReplyString();
}
catch (IOException ex) {
System.out.println("Endpoint exception: " + ex.getMessage());
return "Endpoint exception: " + ex.getMessage();
}
}

谢谢你的建议。

我认为您需要使用logout()disconnect()

logout() throws IOException

通过发送QUIT命令注销FTP服务器。

} finally {
ftp.logout();
ftp.disconnect();
}

在执行任何操作之前,您必须先使用connect连接到服务器,最后在完全完成与服务器的交互后断开连接。FTP客户端

相关内容

  • 没有找到相关文章

最新更新