Python rpyc “Buchse.error: [Errno 113] No route to host"
Ich habe zwei Maschinen mit python rpyc
ist man server(ip:10.0.3.120)
, ein anderer client(ip:10.0.3.197).
Der code zeigt unten:
Server (ip:10.0.3.120)
from rpyc import Service
from rpyc.utils.server import ThreadedServer
class TestService(Service):
def exposed_test(self, num):
return num + 1
sr = ThreadedServer(TestService, port=9999, auto_register=False)
sr.start()
Client (ip:10.0.3.129)
import rpyc
conn = rpyc.connect('10.0.3.120', 9999)
cResult = conn.root.test(11)
conn.close()
print cResult
Client zeigt diese Fehlermeldung, wenn ich laufen server
und client
:
Traceback (most recent call last):
File "rpyc_client.py", line 4, in <module>
conn = rpyc.connect('10.0.3.120', 9999)
File "/usr/local/lib/python2.7/site-packages/rpyc-3.2.3-py2.7.egg/rpyc/utils/factory.py", line 89, in connect
s = SocketStream.connect(host, port, ipv6 = ipv6)
File "/usr/local/lib/python2.7/site-packages/rpyc-3.2.3-py2.7.egg/rpyc/core/stream.py", line 114, in connect
return cls(cls._connect(host, port, **kwargs))
File "/usr/local/lib/python2.7/site-packages/rpyc-3.2.3-py2.7.egg/rpyc/core/stream.py", line 92, in _connect
s.connect((host, port))
File "/usr/local/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
Wie funktioniert connect
Methode verwenden?
Wenn ich mit der öffentlichen IP-Netzwerk zu bauen rpyc
- server könnte ich es anschließen zu Hause ?? Vielen Dank!
InformationsquelleAutor changzhi | 2014-02-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Prüfen Sie zunächst, für eine Verbindung den Befehl ping. In deinem code-server läuft auf localhost. Um so den Zugriff von außen Ihre richtige Adresse oder * (dann läuft der server auf alle möglichen Adressen des aktuellen Maschine). Ich denke, auto_register muss gleich Keine.
InformationsquelleAutor Peter Kozhevnikov
Nur löschen, alle
iptables
Regeln auf der client mit diesem Befehl:Diese Problemumgehung wird davon ausgegangen, dass die Maschine auf intranet-aber nicht im internet, es kann auch viele der Netzwerk-Bedrohungen, wie Sie betont, während Sie in einem echten open network environment.
Ich verstehe. Ich wurde gerade darauf hindeutet, dass Sie fügen Sie eine Erklärung, warum Sie denken, dass die iptables-Befehl wird helfen, lösen das problem für jemanden, der vielleicht nicht so vertraut mit iptables, wie Sie sind. Es wäre auch eine gute Idee, fügen Sie den Satz in Ihrem Kommentar als eine Verzichtserklärung auf die original-Antwort. Im Grunde, wenn Sie Sie Bearbeiten Ihre Antwort und fügen Sie diese Informationen haben, haben Sie möglicherweise bessere Erfolge mit.
InformationsquelleAutor Ian