我在python 2.7中使用多处理进行简单的服务器/客户端连接 当我在一个单独的python shell中运行客户端代码时,连接成功,但是当我作为一个整体运行应用程序时,我得到“socket.error:[Errno 111] Connection refused”。
这是追溯:
Traceback (most recent call last):
File "./kaboom", line 276, in <module>
sequence.run(testEnv)
File "/e/m/amoreau/test_edit/kaboom/src/kbmSequence.py", line 271, in run
if testEnv.open() != SUCCESS:
File "/e/m/amoreau/test_edit/kaboom/src/kbmTestEnv.py", line 518, in open
queueManager = resultsClient.QueueServerClient()
File "/e/m/amoreau/test_edit/kaboom/resultsClient.py", line 15, in QueueServerClient
manager.connect()
File "/usr/lib64/python2.6/multiprocessing/managers.py", line 474, in connect
conn = Client(self._address, authkey=self._authkey)
File "/usr/lib64/python2.6/multiprocessing/connection.py", line 143, in Client
c = SocketClient(address)
File "/usr/lib64/python2.6/multiprocessing/connection.py", line 263, in SocketClient
s.connect(address)
File "<string>", line 1, in connect
socket.error: [Errno 111] Connection refused
为什么会这样?我已禁用所有防火墙。
答案 0 :(得分:1)
Howdie,我刚遇到这个问题。我知道这是一个陈旧的答案,但我在相关问题中找到了答案。它列在下面。问题是客户端在服务器创建套接字之前尝试连接到服务器。
嗯,这就是我的情况。将服务器关闭到另一个进程需要比客户端尝试连接稍微长一点。为了测试,我在我的客户端进行了一次睡眠调用,果然,没有更多的错误。