py-FTP服务器之五:其他
2020-05-02 本文已影响0人
奇奇乌布里
客户端配置
1.使用 FlashFXP(因为编码兼容,都是utf-8)

2.设置连接类型为 SSL-TLS

3.启用 被动 模式

然后应该就可以连接了,如果连接不起那就只有修改客户端的配置慢慢试了。
多线程与多进程
Linux没有线程,只有进程,线程都是用进程模拟的。ps aux
命令显示的PID
就是进程的ID
。
启用多线程,可以防止一个进程堵住了以后其他程序都在那卡起,具体办法就是把 FTPServer
类换成 MultiprocessFTPServer
类就可以了。这样,ps aux
查询的时候就会看到很多这个py程序进程,每一个客户端连接起了以后就会新建一个进程。
# from pyftpdlib.servers import FTPServer
from pyftpdlib.servers import MultiprocessFTPServer
...
# server = FTPServer(address, handler)
server = MultiprocessFTPServer(address, handler)
启用以后,查询的进程信息就成了:
-ubuntu:~$ ps aux|grep ftp.py
user 17522 0.0 1.3 86264 24856 pts/1 S+ 17:24 0:00 py ftp.py
user 18113 0.2 1.1 86520 20812 pts/1 S+ 17:28 0:00 py ftp.py
user 18172 0.2 1.1 86520 20812 pts/1 S+ 17:28 0:00 py ftp.py
user 18205 0.0 0.0 15200 1120 pts/0 S+ 17:28 0:00 grep --color=auto ftp.py