2016-06-12 12 views
1

Ich wollte zwischen Prozessen kommunizieren (ein Prozess macht etwas, sendet Ergebnisse an andere Prozesse, die etwas damit tun). So habe ich diesen Code:Kommunikation zwischen Prozessen auf verschiedenen Computern

Server:

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() 

Auftraggeber:

from multiprocessing.connection import Client 

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

(Quelle: interprocess communication in python)

Und es wirkt wie ein Zauber. Aber ich wollte diese beiden Programme von einem anderen Computer aus ausführen. Auf Komp. A Ich habe diese 2 Programme. Ich verbinde mich mit Comp A von Comp B durch Wifi Lan (mit SSH-Verbindung) und ich führe diese 2 Programme (was bedeutet, dass sie auf Comp A laufen), aber sie verbinden sich nicht miteinander. Ich habe versucht, WLAN-LAN-Adresse (192.168.x.x) anstelle von "localhost", aber es hat auch nicht funktioniert. Welchen Parameter muss ich anstelle von "localhost" verwenden, damit sich diese 2 Programme verbinden können. Oder was ist der einfachste Weg, dies zu tun? Prost!

Antwort

0

Gehen Sie zur Eingabeaufforderung und geben Sie ipconfig auf dem anderen Computer ein. Sie müssen die IPv4-Adresse verwenden. Sie müssen auch sicherstellen, dass die Ports offen und ssh aktiviert sind. Ersetzen Sie den 'localhost' durch die IPv4-Adresse.

Verwandte Themen