Python, Connectin Refused 10061
Ich bekomme immer diese Fehler
[Errno 10061] es konnte Keine Verbindung hergestellt werden, da der Zielcomputer aktiv verweigert.
Ich bin mit Windows 7 64 bit, kein virus oder Schutz-software, und python ist durch meine firewall (hab ich auch versucht, drehen meine firewall komplett ausgeschaltet, aber dasselbe Ergebnis). Wenn ich den server und telnet verwenden, es verbindet sich einfach gut. Wenn ich versuche eine Verbindung zu dem server mit den Clients scheitert es. Irgendwelche Vorschläge, was ich versuchen könnte, dieses Problem zu beheben? Wenn Sie weitere Informationen benötigen, Fragen Sie einfach und ich werde liefern.
Client-Code
import socket
import sys
def main():
host = ""
port = 8934
message = "Hello World!"
host = raw_input("Enter IP: ")
#Create Socket
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
except socket.error, msg:
print "Failed to create socket. Error code: %s Error Message: %s"%(str(msg[0]),msg[1])
sys.exit()
print "Socket created"
#Connec to Server
print host
print port
s.connect((host,port))
print "You are connected to %s with IP adress of %s"%(host,host)
#Send Data
try:
s.sendall(message)
except socket.error:
print "Failed to send."
#Receive Data
reply = s.recv(4096)
if __name__ == "__main__":
main()
Server-Code
# !usr/bin/python
import socket
import sys
HOST = ""
PORT = 8934
def main():
#Setup socket
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
except socket.error,msg:
print "Unable to create socket"
sys.exit()
print "Socket created."
#Bind to adress
try:
s.bind((HOST,PORT))
except socket.error,msg:
print "Bind failed. Closing..."
sys.exit()
print "Socket bound."
#Start listening
s.listen(10)
print "Socket Listening"
#Accept connection
conn, addr = s.accept()
print "Connected to %s:%s"%(addr[0],addr[1])
if __name__ == "__main__":
main()
Auch, bitte korrigieren Sie Ihre Einrückung, also wir können kopieren und fügen Sie den code ein um es zu starten, oder einfach nur Lesen, ohne zu raten.
Ich weiß, es wird beendet, ja. Alles, was ich bin besorgt über ist, bekommen es zu verbinden an alle, dann werde ich von dort aus arbeiten. Sorry für die Einrückung, wusste ich nicht, dass er gepatzt hat es sich.
Soweit ich sagen kann, ist die Tatsache, dass der server beendet wird, ist die einzige wirkliche problem hier. Sie können nur ausführen, die client-Zeit, dann wird der server beendet, und wenn Sie den client erneut, erhalten Sie eine 10061-Fehler (oder auf Unix -, a 61 Fehler). Wenn Sie einen anderen server, können Sie eine client wieder.
InformationsquelleAutor cgasser | 2012-12-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einnahme eine Vermutung auf Ihren Einzug, und Ihren code ausführen... es funktioniert problemlos.* (Solange ich in
127.0.0.1
wenn er fragt mich nach der IP).Natürlich das zweite mal, dass ich dem client ausgeführt werden (wenn ich nicht neu gestartet den server) bekomme ich eine connection-refused-Fehler. Aber das nur, weil Sie codiert haben einen server, der sofort beendet, sobald es bekommt die erste Verbindung. Also das zweite mal, wenn Sie den client ausführen, gibt es keinen server, so dass das OS die Verbindung abweist.
Sie können immer laufen die server wieder, können Sie den client ausführen. (Außer, dass der server möglicherweise eine 10048 Fehler, wenn er versucht, binden Sie den socket, da die OS hält es für die vorherigen Besitzer. Wenn Sie sehen, dass, betrachten
SO_REUSEADDR
in der Dokumentation.)* "Ganz gut funktioniert" meine ich, dass es verbindet, und druckt die folgenden vor dem beenden:
Offensichtlich, es sendet nie etwas auf dem server oder erhält etwas zurück, denn der server hat keine
send
oderrecv
Anrufe oder sonst was.InformationsquelleAutor abarnert