IIS7批量FTP管理功能说明:
1、可批量导入,导出FTP信息
2、其他ftp工具有的功能,我们也有
3、特色功能:可以定时上传下载
4、数据信息列表化、一眼就能知道那个是那个
5、批量连接标签页式切换方便快捷
6、7大连接模式更多好的兼容
7、内嵌编辑器有效解决普通txt记事本乱码
8、锁屏功能当程序有规定时间内没人操作,则自动锁程序。输入密码才可以正常操作
本产品适用于:懒得记录FTP信息和有批量定时备份,上传下载的运维或站长。
图片:
给项目开发了一个ftp组件(ftpclient)用来处理通用的上传下载的问题。今天出现一个很奇怪的问题,部署在A地的ftpclient去连接B地的ftpserver进行文件上传的时候出现connectionreset的异常。
最开始怀疑ftpserver的问题,但用ftp客户端工具可以连上server,所以这个嫌疑排除。
重新部署ftpclient到另外的一台服务器,发现问题不在重现,之后试了很多台服务器包括本地的windows开发机也没有这个问题。
所以怀疑是A服务器本身的问题,可能是安全策略限制导致的。
上网查了下资料,发现ftp数据传输有两种模式:FTPPort模式和FTPPassive模式
于是在代码里面,在获取到ftp链接之后就将模式改成Passive模式,问题解决!
ftpclient.enterLocalPassiveMode();
stackoverflow的解释:
“beforeyouinitiatetransfer.IsuspectyouneedtogetintoPASVmodefordatatransfer.Thiscanhappenincaseyouarebehindarouter(NAT)orafirewall.TheFTPserverwilltrytoconnecttoyoufordataconnectionbydefault,whichmeansyoustartlisteningonsomeportandinviteservertoconnecttoitfortransferofdata.Butincaseyouarebehindfirewallorrouter,theservercannotconnecttoyoudirectly.PASVmodeinstructsFTPservertoinsteadopenaportonserverfortransferandtheclientconnectstoit.”
大体的意思是,设置FTPClient.enterLocalPassiveMode();在每次数据连接之前,ftpclient协商ftpserver开通一个端口来传输数据。
原文链接:https://www.cnblogs.com/jager/p/6474009.html