wake-up-neo.com

Errno 10061: Es konnte keine Verbindung hergestellt werden, da der Zielcomputer diese aktiv ablehnte (Client - Server).

Ich habe ein Problem mit diesen Client- und Server-Codes. Ich bekomme immer die [Errno 10061] Es konnte keine Verbindung hergestellt werden, weil der Zielcomputer sie aktiv abgelehnt hat  

Ich verwende den Server auf einer virtuellen Maschine mit Windows XP SP3 und dem Client unter Windows 7 64bit. Meine Python-Version ist 2.7.3. Ich möchte wissen, wie ich den Code bearbeiten muss, um Client und Server in verschiedenen Netzwerken zu verwenden! Vielen Dank! 

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

Klient :

#!/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 stammt aus dem Internet.

32
havox

10061 ist WSAECONNREFUSED, 'Verbindung abgelehnt', was bedeutet, dass an dem IP: Port, mit dem Sie eine Verbindung herstellen wollten, nichts zugehört hat.

Um das Jahr 2000 gab es ein Firewall-Produkt, das ablehnte, anstatt eingehende Verbindungen zu blockierten Ports zu ignorieren. Dies wurde jedoch schnell als Informationsverlust für Angreifer erkannt und korrigiert oder zurückgezogen.

22
user207421

Hinweis: actively refused klingt nach etwas tieferen technischen Problemen, aber ...

... eigentlich ist diese Antwort (und auch speziell errno:10061) auch gegeben, wenn die ausführbare Datei bin/mongo aufgerufen wird und der mongodb-Dienst auf dem Zielcomputer einfach nicht ausgeführt wird. Dies gilt auch für lokale Computerinstanzen (alle auf localhost). 

Schließen Sie diese triviale Möglichkeit immer zuerst aus, d. H. Indem Sie einfach den Befehlszeilenclient für den Zugriff auf Ihre Datenbank verwenden.

Siehe hier.

5
Frank Nocke

Anhand der Beispiele aus: https://docs.python.org/3.2/library/socketserver.html .__ stellte ich fest, dass ich den Host-Port auf dem Computer einstellen musste, auf dem das Serverprogramm ausgeführt wurde. Also TCPServer auf 192.168.0.1 Host = TCPServer IP 192.168.0.1 Dann musste ich die TCPClient-Seite so einstellen, dass sie auf die TCPServer IP verweist. Der TCPClient-Host-Wert = 192.168.0.1. Das ist das Beste, was ich beschreiben kann.

3
purza95

wenn Sie einen Remote-Server auf Ihrem Computer installiert haben. Geben Sie server.py Host als "localhost" und die Portnummer ... an. Dann müssen Sie auf der Clientseite die lokale IP-Adresse 127.0.0.1 und Portnummer angeben

Ich hatte ein ähnliches Problem, als ich die REST -API mit der Python-Bibliothek aufrief. Ich fand heraus, dass mein Server in den Schlafmodus ging, was dazu führte. Sobald ich mich über Remote Desktop Connection am Server angemeldet habe, funktionierte mein API-Aufruf. 

0