我在windows 7机器上使用python2.7.2。
我的代码:
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运行它,则使用
dummy_ftp_server('127.0.0.1', 'user', 'pass', "C:/path/test", 'elradfmw')效果很好。
在linux机器上,我没有这个问题。
发布于 2014-11-18 05:06:32
您正试图在同一个ip地址和同一个端口上运行多个ftp服务器。这就是错误告诉你的。
可能你已经在127.0.0.1:21上运行了一些东西
使用netstat -an签入控制台
https://stackoverflow.com/questions/21902167
复制相似问题