紧急求教关于TNMFTP的问题!
写了一个简单的FTP定时下载线程,在本机测试的时候是用ServerU进行测试的,没问题。
但连到一个UNIX的服务器上就不行了,在List()那里就不动了。请问会是什么问题呢?
是代码问题还是FTP Server的设置呢?
代码大概如下:
while(this->Terminated == false)
{
FTPForm->NMFTP1->Vendor = NMOS_AUTO; //设置成NMOS_UNIX也一样不行
FTPForm->NMFTP1->Connect();
//如果有需要的话,改变FTP目标路径
if(confSet.getSDir() != "")
FTPForm->NMFTP1->ChangeDir(confSet.getSDir());
//列出目标路径下所有文件
FTPForm->NMFTP1->List(); //在这里挂掉,也不提示错误,就动也不动了
//文件数量
int fileCount = FTPForm->NMFTP1->FTPDirectoryList->name->Count;
AnsiString * names = new AnsiString [fileCount];
for (int i = 0; i < fileCount; i++)
{
//获取文件名
//...
}
AnsiString RemoteFile, LocalFile;
FTPForm->NMFTP1->Mode(MODE_IMAGE); //以二进制格式下载
//... 设置文件名等
for(int i = 0; i < fileCount; i++)
{
//执行下载操作
FTPForm->NMFTP1->Download(RemoteFile, LocalFile);
//一些操作...
}
//若有文件下载了,则记录日志
if(downFile->Count > 0)
{
WriteLog();
}
delete [] names;
//断开连接
FTPForm->NMFTP1->Disconnect();
//等待配置的时间,再次执行下载操作
Sleep(...);
}
另外还一个问题,就是关于ChangeDir(),UNIX服务器上的根目录下有个映射的路径,比如从/root/ftp_bill/ 里面的link映射到/aaa/bbb/这个目录下,这时候ChangeDir()要怎么写呢?
多谢多谢!!!