请教edtftpnet下载遇到的超时问题

jiansheng123 2012-11-28 04:01:42
我要实现一个定时从FTP服务器下载文件到本地的功能,用的第三方类库是 edtftpnet,我是用一个timer,设置它的INTERVAL,每隔比如1分钟去从FTP的某个目录取文件下载下来,具体代码如下:

protected override void OnStart(string[] args)
{

MyTimer tmr = new MyTimer();

tmr.Interval = int.Parse(ds.Tables[0].Rows[i]["intervals"].ToString());
tmr.Directory = ds.Tables[0].Rows[i]["Directory"].ToString();
tmr.HistoryPath = ds.Tables[0].Rows[i]["historypath"].ToString();
tmr.Path = ds.Tables[0].Rows[i]["path"].ToString();
tmr.Type = ds.Tables[0].Rows[i]["type"].ToString();
tmr.Elapsed += new ElapsedEventHandler(tmr_Tick);
tmr.AutoReset = true;
tmr.Start();

}

private void tmr_Tick(object sender, ElapsedEventArgs e)
{

MyTimer _timer = (MyTimer)sender;

_timer.Enabled = false;

if (_timer.Type == "download")
DownloadFile(_timer.Directory, _timer.HistoryPath, _timer.Path);
_timer.Enabled = true;

}

public void DownloadFile(string DirectoryName, string HistoryPath, string Path)
{
FTPConnection ftpConn = new FTPConnection();
try
{

ftpConn.UserName = System.Configuration.ConfigurationSettings.AppSettings["UserName"];
ftpConn.Password = System.Configuration.ConfigurationSettings.AppSettings["Password"];
ftpConn.ServerAddress = System.Configuration.ConfigurationSettings.AppSettings["ServerAddress"];
ftpConn.ServerPort = int.Parse(System.Configuration.ConfigurationSettings.AppSettings["ServerPort"]);

ftpConn.TransferType = FTPTransferType.BINARY;

ftpConn.Connect();
ftpConn.WorkingDirectory = DirectoryName;
string directory = ftpConn.WorkingDirectory;
....
ftpConn.DownloadFile(Path, filetemp);
}
catch(Exception ex)
{

}
finally
{
if (ftpConn.IsConnected)
ftpConn.Close();
}
}


最后一直报错:System.IO.IOException: Failed to connect to 115.236.10.243:45663 within timeout 120000 ms
在 EnterpriseDT.Net.StandardSocket.InternalConnect(EndPoint remoteEP, Int32 timeout)
在 EnterpriseDT.Net.StandardSocket.Connect(EndPoint remoteEP, Int32 timeout)
在 EnterpriseDT.Net.Ftp.FTPControlSocket.NewPassiveDataSocket(String ipAddress, Int32 port)
在 EnterpriseDT.Net.Ftp.FTPControlSocket.CreateDataSocketPASVInternal()
在 EnterpriseDT.Net.Ftp.FTPControlSocket.CreateDataSocketPASV()
在 EnterpriseDT.Net.Ftp.FTPControlSocket.CreateDataSocket(FTPConnectMode connectMode)
在 EnterpriseDT.Net.Ftp.FTPClient.Dir(String dirname, Boolean full, LineCallback lineCallback, Object state)
在 EnterpriseDT.Net.Ftp.FTPClient.Dir(String dirname, Boolean full)
在 EnterpriseDT.Net.Ftp.FTPClient.DirDetails(String dirname)
在 EnterpriseDT.Net.Ftp.FTPConnection.GetFileInfos(String directory)
在 FTPService.FTPService.DownloadFile(String DirectoryName, String HistoryPath, String Path) 位置 C:\Code\FTPService\FTPService\FTPService.cs:行号 128

但是文件能下载下来,设置timeout属性也没用的,我已经试过了,请教高手这是什么原因
...全文
120 回复 打赏 收藏 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文系统研究了基于雅可比伪逆迭代的双臂协同轨迹规划与跟踪误差收敛性问题,结合机械臂正向与逆向运动学建模、蒙特卡洛法分析工作空间、笛卡尔空间内的圆弧轨迹生成等关键技术,利用Matlab实现了双臂系统的协同控制与轨迹跟踪仿真。重点探讨了雅可比矩阵伪逆法在解决冗余自由度机械臂逆运动学问题中的应用,深入分析了轨迹跟踪过程中误差的收敛特性,并通过仿真实验验证了该方法在复杂任务场景下的有效性、稳定性与鲁棒性,为多臂机器人在工业自动化、精密操作等领域的协同作业提供了理论依据与技术支持。; 适合人群:具备机器人学、自动控制理论基础及Matlab编程能力的科研人员与工程技术人员,特别适合从事机械臂控制、轨迹规划、多机器人协同等方向的硕士、博士研究生及相关领域研究人员。; 使用场景及目标:①掌握基于雅可比伪逆法的机械臂逆运动学求解原理与实现方法;②理解双臂系统在笛卡尔空间中协同轨迹规划的机制;③分析并优化轨迹跟踪过程中的误差收敛性能;④为多机器人系统在复杂动态环境下的高精度协同控制提供算法设计与仿真验证支持。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,按照文档目录循序渐进地学习,重点关注算法实现细节、仿真参数设置与结果分析部分,同时可进一步探索将智能优化算法或深度学习方法引入轨迹规划与误差补偿的研究方向。

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧