一、作业需求:
使用SELECT或SELECTORS模块实现并发简单版FTP
允许多用户并发上传下载文件
二、readme
一、作业需求: 使用SELECT或SELECTORS模块实现并发简单版FTP 允许多用户并发上传下载文件 二、博客地址:http://www.cnblogs.com/catepython/p/8973372.html 三、运行环境 操作系统:Win10 Python:3.6.4rcl Pycharm:2017.3.4 四、功能实现 1)实现所有基本需求 2)充分利用了面向对象式编程 3)实现了单线程多并发上传/下载文件(多路复用IO)模式 五、测试 1)文件名为空判断 2)指令格式化判断 3)文件名/用户目录有效判断 六、备注 1、服务端put()函数中一遇到 data = conn.recv(size) 逻辑 就会出现“BlockingIOError:无法立即完成一个非阻止性套接字操作”报错 注:尝试过异常处理但效果不明显 完美解决办法:客户端直接把所需上传文件路径与操作字典{'action':'put','file':'e:\xx\xx\'} 一并发送至服务端。然后服务端直接读取路径并写入server目录中,这样就避免了“BlockingIOError”异常报错