2016-06-12 151 views
1

我想在进程之间进行通信(一个进程执行某些操作,将结果发送给其他进程执行某些操作)。 所以我用这个代码:在不同计算机上的进程之间进行通信

服务器:

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。我有这2个程序。我通过Wifi Lan(使用ssh连接)从Comp B连接到Comp A,然后运行这两个程序(这意味着它们在Comp A上运行),但它们并未互相连接。我试过使用wifi局域网地址(192.168.x.x)而不是“本地主机”,但它也没有工作。我必须使用什么参数而不是“localhost”,以便这两个程序可以连接。或者什么是最简单的方法来做到这一点。 干杯!

回答

0

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

相关问题