在不同计算机上的进程之间进行通信

时间:2016-06-12 07:41:41

标签: python ssh ipc

我想在进程之间进行通信(一个进程执行某些操作,将结果发送到与其有关的其他进程)。 所以我使用了这段代码:

服务器:

from multiprocessing.connection import Listener

address = ('localhost', 6000)     # family is deduced to be 'AF_INET'
listener = Listener(address, authkey='secret password')
conn = listener.accept()
print 'connection accepted from', listener.last_accepted
while True:
    msg = conn.recv()
    # do something with msg
    if msg == 'close':
    conn.close()
    break
listener.close()

客户端:

from multiprocessing.connection import Client

address = ('localhost', 6000)
conn = Client(address, authkey='secret password')
conn.send('close')
conn.close()

(来源:interprocess communication in python

它就像一个魅力。但我想从另一台计算机上运行这两个程序。在Comp。我有这两个程序。我通过Wifi Lan连接到Comp B的Comp A(使用ssh连接),我运行这两个程序(这意味着它们在Comp A上运行),但是它们没有相互连接。我尝试过使用wifi局域网地址(192.168.x.x)而不是“localhost”,但它既不能正常工作。我必须使用什么参数而不是“localhost”,以便这两个程序可以连接。或者最简单的方法是什么。 干杯!

1 个答案:

答案 0 :(得分:0)

转到命令提示符并在另一台计算机上键入ipconfig。您需要使用IPv4地址。您还需要确保端口已打开并启用了ssh。替换' localhost'使用IPv4地址。