标签: ftp connection indy
我正在设置一个带有Indy 10.6的FTP服务器,来自客户端的初始连接(filezilla)打开了一个与服务器的连接,我已经登录了。当我从服务器下载任何文件时,它会再打开2个连接(OnConnect会再激发2次),所以现在有3个连接从同一个客户端到服务器。
这是必需的还是在服务器中没有正确设置?如果需要,我可以期望单个客户端打开多少总连接数?
答案 0 :(得分:1)
TIdFTPServer 没有为单次转移打开3个连接,当然也不会多次触发OnConnect事件。
TIdFTPServer
OnConnect
FTP协议每个客户端会话仅使用2个连接 - 1个用于交换命令/响应,1个用于每个数据传输。文件按顺序下载,因此一次只能有一个数据连接存在。
您可以获得多个OnConnect事件的唯一方法是客户端是否打开多个命令连接。数据连接不会触发OnConnect事件(它们会触发OnDataPortBeforeBind和OnDataPortAfterBind事件。
OnDataPortBeforeBind
OnDataPortAfterBind
FileZilla可以并行下载多个文件,并且需要建立多个FTP连接。您可以在FileZilla的设置中对此进行限制: