2016-06-12 177 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'。

相關問題