Python 使用Twisted的复合定制服务服务器
我有一个有趣的项目正在我们的工作场所进行。摆在我们面前的任务是:Python 使用Twisted的复合定制服务服务器,python,twisted,Python,Twisted,我有一个有趣的项目正在我们的工作场所进行。摆在我们面前的任务是: 使用Python构建自定义服务器 它有一个web服务器部件,为REST服务 它有一个FTP服务器部件,为文件提供服务 它有一个SMTP部分,只接收邮件 最后但并非最不重要的一点是,it有一个后台工作程序,它根据从上述服务接收的请求管理低级文件IO 显然,go-to-place是Twisted library/framework,它是一个优秀的网络工具。然而,在进一步研究这些文件时,出现了一些我不确定的事情 有了Java背景,我
- 使用Python构建自定义服务器
- 它有一个web服务器部件,为REST服务
- 它有一个FTP服务器部件,为文件提供服务
- 它有一个SMTP部分,只接收邮件
- 最后但并非最不重要的一点是,it有一个后台工作程序,它根据从上述服务接收的请求管理低级文件IO
- 提供所有需要的服务
- 以非阻塞方式进行(根据文档,应该这样做,但如果有人能详细说明,我将不胜感激)
- 能够同时为数百名客户提供服务
- 以合理的方式提供大文件下载服务,这意味着它可以为多个客户端提供服务,使用多种服务,下载和上载大文件
当然。例如,BitTorrent的原始版本是用Twisted编写的。是的,你可以编写一个Twisted应用程序来提供所有这些服务,但我不确定你为什么想要/需要一个单片应用程序中的所有这些东西。这是有原因的,但我不想详细说明,因为这不是问题所在。但是大小并不重要,重要的是客户机与服务器保持连接的时间。我不知道你在暗示什么。客户保持联系的时间有多重要?这与文件大小无关吗?我的意思是,当客户机主动连接到服务器时,它占用了一个其他人无法占用的插槽,因此,服务器必须以某种方式处理这个问题,而lib应该可以很好地处理这个问题。这句话措词不当,很抱歉。当然,这与尺寸有关。阿得鲁,谢谢你的见解,让我详细说明一下。至于非阻塞解释,我明白你的意思,有点困惑反应堆和生产者/消费者是如何工作的,等等,现在我明白了。客户在做什么,我解释得太宽泛了。大多数情况下,他们会通过PUT/GET上传/下载文件,这意味着打开连接并传输数据。我关心的是,在反应堆上挂接几个不同的服务是否合适。从你回答的语气来看,我应该没事的。