Das Schema ist ganz einfach Server Script wird gestartet und wartet auf eingehende Verbindung des Clients.
Wenn Client verbindung aufbauen will so wird dieser aktzeptiert und kann nun kommunizieren. Man soll quasie eine Nachricht zwischen Client und Server schicken können und das immer abwechselnd.
Der Script den ich geschrieben habe der funktioniert soweit.....allerdings nur mit LOCALHOST.
Wenn ich meine IP anstatt "localhost" eingebe so kommt diese Fehlermeldung [ OSError: [WinError 10049] Die angeforderte Adresse ist in diesem Kontext ungültig ]. Nun wollte ich mich NATÜRLICH !!! kundig machen und habe den fehlercode bei Windows gefunden.
Er sagt mir das die IP nicht zugewiesen werden kann. Ja....aber was bedeutet das jetzt im Klartext. Mir mangelt es etwas am Verständnis was nun damit gemeint ist.
Hier sind meine beiden Test Scripts.
SERVER SCRIPT
Code: Alles auswählen
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("178.25.170.210", 4950))
s.listen(1)
try:
while True:
komm,addr = s.accept()
while True:
data = komm.recv(1024)
if not data:
komm.close()
break
print("[{}] {}". format(addr[0], data.decode()))
nachricht = input("Antwort: ")
komm.send(nachricht.encode())
finally:
s.close()
# 178.25.170.210
UND CLIENT SCRIPT
Code: Alles auswählen
import socket
ip = input("Ip Adresse: ")
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, 4950))
while True:
if s.connect:
print("Connected...")
else:
print("Verbindung fehlgeschlagen")
try:
while True:
nachricht = input("Nachricht: ")
s.send(nachricht.encode())
antwort = s.recv(1024)
print("[{}] {}".format(ip, antwort.decode()))
finally:
s.close()
input()
Bitte helpt mir ein wenig weiter ich stecke fest. Mit Localhost funktioniert es aber mit meiner IP nicht.
Den Port 4950 habe ich extra per Port triggering im Router unter TCP freigeschaltet und sollte denke ich mal dementsprechen funktionieren. Habe mein Router auch extra auf IPv4 umschalten lassen aber es funktioniert irgendwie nichts....
LG Chugy