Kann keinen Server starten

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
BerryBlue
User
Beiträge: 41
Registriert: Mittwoch 9. November 2011, 19:57

Hallo erstmal,

Nachdem ich seit ca. 1 jahr in diesem Forum nicht mehr aktiv war habe ich seit langem mal wieder eine Frage, die ich, trotz Internet-recherche etc. nicht beantworten kann.

Also ich habe mir einen Kleinen Chatserver aus dem I-Net kopiert (http://www.suncol.de/programmierung/pyt ... ocket.html) und es funktioniert auch im Localhost, aber wenn ich versuche, den Server übers I-Net laufen zu lassen funktioniert das nicht, obwohl ich den jeweiligen Port freigegeben habe (im Router), ich verwende die IP des Routers und nicht meine Netzwerk spezifische.

Die Fehlermeldung lautet:

Code: Alles auswählen

Traceback (most recent call last):
  File "G:\minecraft server\server.py", line 7, in <module>
    e_udp_sock.bind( (Quelle,Port) )    #Im IP-Adresse und Port werden
  File "<string>", line 1, in bind
error: [Errno 10049] Die angeforderte Adresse ist in diesem Kontext ungültig
Würde mich sehr über hilfreiche antworten freuen, und wäre sehr Dankbar, wenn Ihr/Sie mir das möglichst nicht im netzwerk-Fachchinesisch erklären würdet, da ich mich damit nicht sehr aus kenne.

MFG BerryBlue
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Der Chat Server muss auf der IP laufen die dein Rechner hat. z.B 192.168.1.10. Dein gegenüber von irgend wo aus dem Internet gibt deine Internet IP ein als z.B 64.128.8.16. Dann landet er auf deinem Router und der Router braucht dann ein Port forwarding für deinen Port auf deinen Rechner.

Bsp.

Client (192.168.0.10) -> Clients Router (192.168.0.1 intern / public irgendwas anderes) -> Server Router (public 64.128.8.16, intern 192.168.1.1) -> Forward für Port XY auf 192.168.1.10 -> Server (192.168.1.10)

mfg Lars
BerryBlue
User
Beiträge: 41
Registriert: Mittwoch 9. November 2011, 19:57

Hallo,

erstmal danke für deine antwort, aber iw. klappt das doch nicht, ich kann den server zwar starten, es kommt aber nichts an.

wenn Sie evtl. noch eine Idee haben oder mir sagen können was ich noch einstellen muss währ ich ihnen sehr dankbar.

MFG BerryBlue
Ich weis erst was ich denke, wenn ich höre was ich sage!
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

BerryBlue hat geschrieben:erstmal danke für deine antwort, aber iw. klappt das doch nicht, ich kann den server zwar starten, es kommt aber nichts an.
Das Port-Forwarding im Router wurde aktiviert?
BerryBlue
User
Beiträge: 41
Registriert: Mittwoch 9. November 2011, 19:57

Ja habe ich, da mein Minecraft Server(ohne hamachi) auch geht.
Ich weis erst was ich denke, wenn ich höre was ich sage!
BerryBlue
User
Beiträge: 41
Registriert: Mittwoch 9. November 2011, 19:57

Ok, danke hat geklappt.
hab mich beim Port vertippt.
Ich weis erst was ich denke, wenn ich höre was ich sage!
BerryBlue
User
Beiträge: 41
Registriert: Mittwoch 9. November 2011, 19:57

Eine frage hätt ich aber noch: Und zwar bei so gut wie allen spiele und Programmen die Daten aus dem I-Net empfangen, funktionieren ohne portfreigebe, aber wie genaa geht das?
Ich weis erst was ich denke, wenn ich höre was ich sage!
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

BerryBlue hat geschrieben:Eine frage hätt ich aber noch: Und zwar bei so gut wie allen spiele und Programmen die Daten aus dem I-Net empfangen, funktionieren ohne portfreigebe, aber wie genaa geht das?
Um es einfach auszudrücken: In dem Fall baust du die Verbindung auf und der Router weiß dann, wohin er die Antwort des Servers zurückschicken muss.
BerryBlue
User
Beiträge: 41
Registriert: Mittwoch 9. November 2011, 19:57

und wie kann man das in Python realisieren?
Ich weis erst was ich denke, wenn ich höre was ich sage!
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

BerryBlue hat geschrieben:und wie kann man das in Python realisieren?
Was genau möchtest du realisieren? Routerkommunikation auf den OSI-Layern 2 und 3 mit eigener Implementierung von IP?
BerryBlue
User
Beiträge: 41
Registriert: Mittwoch 9. November 2011, 19:57

Ich hab ehrlich gesagt keine Ahnung von was Sie da reden, aber ich meine ein python chat programm zu schreiben ohne ports auf dem Router frei zu geben, deswegen hätte ich auch noch eine Idee: Und zwar, sin evlt. ein paar ports automatisch freigeschaltet?

MFG BerryBlue
Ich weis erst was ich denke, wenn ich höre was ich sage!
BlackJack

@BerryBlue: Das ist letztlich keine Python-Frage, also auch keine Deines Chatprogramms, sondern Netzwerkkonfiguration.

Mindestens eine der beiden Seiten einer Kommunikation muss das lokale Netz so konfiguriert haben, dass der Rechner mit dem Programm das auf eine Verbindung wartet über eine IP:Port-Kombination problemlos von aussen erreichbar ist. Wenn beide Seiten hinter einem Router sitzen und keine Portweiterleitungen konfiguriert haben, kann man schlicht keine Verbindung aufbauen.

Um nochmal auf die Spiele und Chats zurück zu kommen: Die schicken Dir nicht einfach von sich aus etwas, sondern Du hast da vorher eine Verbindung zu einem per IP und Port erreichbaren Server aufgenommen. Da hat also jemand auf der anderen Seite die notwendigen Massnahmen in seiner Netzwerkkonfiguration vorgenommen.
BerryBlue
User
Beiträge: 41
Registriert: Mittwoch 9. November 2011, 19:57

ok, aber trotzallem muss doch der client die nachricht bekommen soll iw. die ports offen haben??
Ich weis erst was ich denke, wenn ich höre was ich sage!
BlackJack

@BerryBlue: Wenn der Client über den Router die Verbindung aufbaut, dann weiss der Router ja wohin er die Daten vom Server schicken muss. Nämlich dorthin wo vom lokalen Netz die Anfrage zum Server kam. Das geht im umgekehrten Fall nicht ohne das man dem Router sagt welcher Port bei ihm zu welchem lokalen Recher auf welchen Port weitergeleitet werden soll. Eben eine Portweiterleitung.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Im Falle von Chat-Programmen wie ICQ und Protokollen wie XMPP ist das so dass der Server auf einer öffentlichen IP ist, so dass der Client sich aus deinem lokalen Netzwerk zu dem Server verbindet. In die andere Richtung, also der Server verbindet sich zum Client würde nicht gehen (ist etwa bei aktivem FTP so und das funktioniert dann auch nicht).

Eine Möglichkeit Ports automatisch zu öffnen besteht je nach Router und Einstellungen in dem Router über UPnP, wo der Client beim Router anfragt, ob der Router doch bitte eine Portweiterleitung auf den Client anlegt.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BerryBlue
User
Beiträge: 41
Registriert: Mittwoch 9. November 2011, 19:57

Danke, ich werd's mal probieren.

MFG BerryBlue
Ich weis erst was ich denke, wenn ich höre was ich sage!
Antworten