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」,以便這兩個程序可以連接。或者什麼是最簡單的方法來做到這一點。 乾杯!