0

我有一个 Delphi XE5 Android 应用程序,它连接到在 PC 上运行的 Indy FTP 服务器(服务器是 Indy 10 IdFTPServer 演示)。我通过 FTP 从服务器获取相同的文件(每 2 秒)并在我的 Android 设备上的标签中显示内容(24 个字符)。它总是工作 16 次,然后 android 应用程序退出。从服务器的角度来看,它报告“10054,对等连接重置”

这是代码:

procedure TForm3.FetchTimerTimer(Sender: TObject);  
var  
    str : string;  
begin
    inc(FetchCnt);    
    aStream.Position := 0;  
    FTP.Get('Time1.txt', aStream);  
    aStream.Position := 0;  
    str := aStream.ReadString(255);  
    CmdLabel.text := inttostr(FetchCnt) + ') ' + str;  
end;  

16 是一个神奇的数字吗?在第 16 次 FTP 之前按预期工作。获得想法?

4

1 回答 1

0

没有什么TIdFTP可以限制您可以通过同一连接执行的传输次数。您看到的错误意味着服务器端的连接丢失。可能demo只允许16个传输,我不知道(你提到的demo我不熟悉)。或者也许只有有限数量的可用端口。您是在主动模式还是被动模式下执行传输?我建议您在客户端和服务器之间放置一个数据包嗅探器,看看网络上实际发生了什么。

于 2013-10-22T20:07:31.023 回答