【发布时间】:2011-07-13 05:52:49
【问题描述】:
我的 FTP 下载脚本(基于 ftplib)在大量下载时挂起。我正在使用的远程服务器,虽然高度可配置(proftpd)无法通过远程网络施加的防火墙限制。
我在公司仅限使用被动模式,即 IT 不会为我打开端口以允许 FTP 主动模式。
所以,我陷入了被动模式。
远程服务器会在 10 到 15 分钟后断开连接以进行大型下载。
我需要在大下载期间保持控制连接处于活动状态。我应该使用线程,每十秒发送一个“NOOP”命令吗?如果是这样,您好心人会给我一些可以解决问题的示例代码吗?我需要将多个值传递给我的 FTP 下载功能。 keepalive 函数不需要传递任何参数。
或者,有没有办法控制我在端口 21(控制连接)上使用的特定套接字,以在端口 nnnnnn 上进行大量下载时使其保持活动状态?
非常感谢!
【问题讨论】:
标签: python multithreading sockets ftp