Errno 10061: Es konnte keine Verbindung hergestellt werden, da die Zielmaschine dies aktiv ablehnte (Client - Server)
Ich habe ein problem mit dieser client-und server-codes, bekomme ich immer die [Errno 10061] es konnte Keine Verbindung hergestellt werden, da der Zielcomputer aktiv verweigert
Mir läuft der server auf einer virtuellen Maschine mit Windows XP SP3 und den client auf Windows 7 64bit, meine python-version 2.7.3. Was ich wissen will ist, wie soll ich Bearbeiten, den code zu verwenden, den client und server auf verschiedenen Netzen! Danke!
server :
#!/usr/bin/python # This is server.py file
import socket # Import socket module
s = socket.socket() # Create a socket object
host = '0.0.0.0' # Get local machine name
port = 12345 # Reserve a port for your service.
print 'Server started!'
print 'Waiting for clients...'
s.bind((host, port)) # Bind to the port
s.listen(5) # Now wait for client connection.
c, addr = s.accept() # Establish connection with client.
print 'Got connection from', addr
while True:
msg = c.recv(1024)
print addr, ' >> ', msg
msg = raw_input('SERVER >> ')
c.send(msg);
#c.close() # Close the connection
client :
#!/usr/bin/python # This is client.py file
import socket # Import socket module
s = socket.socket() # Create a socket object
host = socket.gethostname() # Get local machine name
port = 12345 # Reserve a port for your service.
print 'Connecting to ', host, port
s.connect((host, port))
while True:
msg = raw_input('CLIENT >> ')
s.send(msg)
msg = s.recv(1024)
print 'SERVER >> ', msg
#s.close # Close the socket when done
PS : der code ist aus dem internet.
Kommentar zu dem Problem - Öffnen
verweigerte bedeutet, dass der server-Computer die firewall blockiert die Verbindung, die wahrscheinlich nicht in Zusammenhang mit code.
firewall ist aus :/ noch immer Fehler
Wie ist Ihre VM-Gast mit dem Netzwerk verbunden? Über NAT + Port-Weiterleitung oder per bridge-Modus?
Es ist über Über NAT + Port-Weiterleitung !
InformationsquelleAutor der Frage havox | 2012-10-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
10061 ist WSAECONNREFUSED, 'connection refused', was bedeutet, dass es nichts war, das hören auf die IP:port ein, den Sie versucht sich zu verbinden.
Es war ein firewall-Produkt um das Jahr 2000, herausgegeben Ablehnungen nicht ignoriert, sondern eingehende verbindungen auf ports gesperrt, aber das wurde schnell anerkannt als ein Durchsickern von Informationen zu Angreifern und korrigiert oder zurückgezogen werden.
InformationsquelleAutor der Antwort EJP
Hinweis:
actively refused
klingt wie etwas tiefere technische Probleme, aber......tatsächlich, diese Antwort (und auch speziell
errno:10061
) ist auch gegeben, wenn man ruft die bin/mongo ausführbare und der mongodb-Dienst einfach nicht läuft auf der Ziel-Maschine. Dies gilt auch für lokale Maschinen-Instanzen (alles geschieht auf localhost).➪ Immer auszuschließen, diese triviale Möglichkeit, erste, d.h. einfach durch Verwendung des Befehlszeilen-client für den Zugriff auf Ihre db.
Siehe hier.
InformationsquelleAutor der Antwort Frank Nocke
Anhand der Beispiele aus: https://docs.python.org/3.2/library/socketserver.html
Ich habe festgestellt, dass ich brauchte, um den HOST-port an der Maschine hatte ich das server-Programm läuft. So tcpserver gestartet, auf 192.168.0.1 HOST = tcpserver gestartet, IP 192.168.0.1, dann hatte ich um die TCPClient Seite auf den tcpserver gestartet, IP. Also die TCPClient HOST-Wert = 192.168.0.1 - Sorry, das sind die besten ich es beschreiben kann.
InformationsquelleAutor der Antwort purza95
wenn Sie über remote-server installierte auf Ihrer Maschine. geben server.py host als "localhost" und der port-Nummer.
dann client-Seite , müssen Sie geben Sie die lokale ip - Adresse 127.0.0.1 und die port-Nummer.
dann seine Werke
InformationsquelleAutor der Antwort Zzmilanzz Zzmadubashazz
Die Lösung ist die Verwendung der gleichen IP-Adresse und Port-Nummer in beiden client und server.
Versuchen Sie, Sie im client zu verwenden
TCP_IP = 'schreiben Sie die ip-Nummer hier'
TCP_PORT = Klageschrift, die port-Nummer hier
s.connect((TCP_IP, TCP_PORT))
InformationsquelleAutor der Antwort M.Selmy
die Kurzfristige Lösung ist die Verwendung der Standard-iis-host-und port-normalerweise 120.0.0.1 und 80 beziehungsweise. Aber bin noch auf der Suche nach einer vielfältig einsetzbaren Lösung.
InformationsquelleAutor der Antwort Karisno1