Python 多处理远程服务器和套接字错误

Python 多处理远程服务器和套接字错误,python,sockets,multiprocessing,Python,Sockets,Multiprocessing,我正在使用多处理模块创建一个远程队列,并收到一个套接字错误: “[Errno 10061]无法建立连接,因为目标计算机主动拒绝它” 我的服务器代码非常基本: from multiprocessing.managers import BaseManager import Queue queue = Queue.Queue() class QueueManager(BaseManager): pass QueueManager.register('get_queue', callable=lambd

我正在使用多处理模块创建一个远程队列,并收到一个套接字错误: “[Errno 10061]无法建立连接,因为目标计算机主动拒绝它”

我的服务器代码非常基本:

from multiprocessing.managers import BaseManager
import Queue
queue = Queue.Queue()
class QueueManager(BaseManager): pass
QueueManager.register('get_queue', callable=lambda:queue)
m = QueueManager(address=('127.0.0.1', 50000), authkey='test')
s = m.get_server()
s.serve_forever()
我需要我的服务器做的就是保留一个作业,只需通过“让工作人员查询队列”并将作业拉到处理中即可

我的客户端正在访问机器,以便将作业放入队列:

import uuid
from multiprocessing.managers import BaseManager
class QueueManager(BaseManager): pass
QueueManager.register('get_queue')
m = QueueManager(address=('machine ip', 50000), authkey='test')
m.connect()
queue = m.get_queue()
queue.put(r"%s" % uuid.uuid4().get_hex())
queue.put(r%s" % uuid.uuid4().get_hex())
它调用get()来获取队列中的项目

尝试访问远程队列时,出现以下错误: 如上所述,“[Errno 10061]无法建立连接,因为目标计算机主动拒绝了它”。如果我在同一台机器上运行代码,它可以正常工作,但是当我将代码分发到多台机器上时,客户端无法访问服务器

我可以ping机器,所以我的第一个想法是禁用防火墙。我这样做了,但仍然得到了套接字错误

我现在正在使用Windows7进行开发


有什么建议吗?

您的服务器代码正在监听环回网络接口127.0.0.1。外部网络(如连接的以太网接口)无法提供此接口

如果要从任何网络接口访问服务器,请在服务器中使用空主机名

m = QueueManager(address=('', 50000), authkey='test')

您的服务器代码正在环回网络接口127.0.0.1上侦听。外部网络(如连接的以太网接口)无法提供此接口

如果要从任何网络接口访问服务器,请在服务器中使用空主机名

m = QueueManager(address=('', 50000), authkey='test')

看起来你正在监听环回地址。如果您试图从外部联系服务器,则此操作无效


尝试将127.0.0.1更改为服务器中的计算机地址…

看起来您正在侦听环回地址。如果您试图从外部联系服务器,则此操作无效


尝试将127.0.0.1更改为服务器中的计算机地址…

谢谢,效果很好。虽然将127.0.0.1更改为机器IP也能起作用,但我认为这是一个答案,因为不传递IP会使服务器的部署更具动态性。谢谢,工作非常出色。虽然将127.0.0.1更改为machines IP也可以,但我将此标记为答案,因为不传递IP会使服务器部署更加动态。