首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于每个套接字地址,pyftpdlib只使用一次

对于每个套接字地址,pyftpdlib只使用一次
EN

Stack Overflow用户
提问于 2014-02-20 08:30:49
回答 1查看 879关注 0票数 0

我在windows 7机器上使用python2.7.2。

我的代码:

代码语言:javascript
复制
from multiprocessing import Process

def dummy_ftp_server(local_interface, username, password, homedir, perms): 
    from pyftpdlib.authorizers import DummyAuthorizer
    from pyftpdlib.handlers import FTPHandler
    from pyftpdlib.servers import FTPServer

    authorizer = DummyAuthorizer()
    authorizer.add_user(username, password, homedir, perm=perms)

    handler = FTPHandler
    handler.authorizer = authorizer

    server = FTPServer((local_interface, 21), handler)
    server.serve_forever()      

process = Process(target=dummy_ftp_server, args=('127.0.0.1', 'user', 'pass', "C:/path/test", 'elradfmw'))
process.start()

当尝试使用multiprocessing.process运行ftp服务器时,我会得到以下错误

回溯(最近一次调用):文件"C:\path\test_ftp.py",第18行,在dummy_ftp_server中 server = FTPServer((local_interface,21),处理程序) 文件"C:\Python27\lib\site-packages\pyftpdlib\servers.py",第145行,在init self._af = self.bind_af_unspecified(address_or_socket)中 文件"C:\Python27\lib\site-packages\pyftpdlib\ioloop.py",第733行,在bind_af_unspecified raise socket.error(err)中 错误: Errno 10048通常只允许使用一个套接字地址(协议/网络地址/端口)。

如果我不使用multiprocessing.process运行它,则使用

代码语言:javascript
复制
dummy_ftp_server('127.0.0.1', 'user', 'pass', "C:/path/test", 'elradfmw')

效果很好。

在linux机器上,我没有这个问题。

EN

回答 1

Stack Overflow用户

发布于 2014-11-18 05:06:32

您正试图在同一个ip地址和同一个端口上运行多个ftp服务器。这就是错误告诉你的。

可能你已经在127.0.0.1:21上运行了一些东西

使用netstat -an签入控制台

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21902167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档