Hi,
und zwar macht mir mein Netzwerk-Server zu schaffen, er läuft und ich habe den Port den er benutzt (10.000) sowohl in meiner Firewall, als auch in meinem Router freigegeben.
Auf meine IP greift der Client über ne noip-Verlinkung zu. Trotzdem bekomm ich keine Verbindung zustande weil der Client mir dauernd ne Fehlermeldung schmeißt in der es heißt das der Server n Timeout hat, bzw. nicht antwortet.
Was heißen müsste, das die Ausgehenden Verbindungen des Servers geblockt werden.
Jemand eine Idee?
Funktioniert die Verbindung, wenn du den Client lokal im Netzwerk / auf deinem Rechner ausführst?
Wie ist die genaue Fehlermeldung?
Wissen ist nicht alles. Man muss es auch anwenden können.
PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |
Lokal funktioniert das ganze, aber auch nur mit der lokalen IP.
Sobald ich meine Externe benutze klappts nichtmehr.
Fehlermeldung:
Der Client ist gestartet auf (IP):10000Verbinde mit Server .....
Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer bestimmten Zeitspanne nicht richtig reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat (IP):10000
Das ist die Fehlermeldung.
Was heißen müsste, das die Ausgehenden Verbindungen des Servers geblockt werden.
Nein das sind die eingehenden Verbindungen, die musst du in der Firewall freigeben.
Wenns das nicht ist, prüf nochmal die Weiterleitung im Router, ob die wirklich auf den richtigen Rechner und Port geht.
Dasmit der Firewall ist so n Ding, in der Windows-Firewall hab ich nämlich nicht nur n Port freigegeben sondern das ganze Programm.
Und bei meinem Router gibts keine große Möglichkeit was falsch zu machen, man kann nur n Port un ein Gerät auswählen für welches der Port geöffnet werden sol und da steht mein Computer drin.
Hallo,
IMHO liegt es bei deiner Firewall, du musst ein NAT-Regel erstellen, die eine externe Anfrage an deinen internen Server weiterleitet, erst dann kann der Server antworten. Deaktiviere die Windowsfirewall testweise mal (reboot nicht vergessen, denn Dienst beenden reicht nicht).
Grüße
**:::
Zeig mal die Zeile wo Du den Listener erstellst
Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...
try
{
GetIpAdresse(ref ipAdresse);
tcpListener = new TcpListener(IPAddress.Parse(//meine externe IP-Adresse//), port);
tcpListener.Start();
}
catch (Exception exp)
{
txtmessage.AppendText("Beim Versuch der Auflösung der Addresse: " +
ipAdresse.ToString() + " enstand folgender Fehler:\r\n" + exp.Message);
return;
}
Nimm mal bitte IPAddress.Any - Damit sollte es gehen.
Wissen ist nicht alles. Man muss es auch anwenden können.
PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |
Ja, danke. Mit IPAddress.Any hats geklappt.
Mein Freund konnte sich mit meinem Server verbinden und konnte Nachrichten verschicken, danke inflames2k 😃
Ja, zur kurzen Erläuterung:
Der Server ist ein Rechner im LAN, welcher nur über den Router mit dem Internet kommuniziert. Legst du jetzt fest, das er auf der externen IP-Adresse horchen soll, ist die Festlegung zwar schön, nur kennt der Rechner diese garnicht, er kennt ja nur seine Netzwerk Karten.
Der Server muss folglich auf eine seiner IP-Adressen horchen zum Beispiel 127.0.0.1. Öffnest du nun im Router den entsprechenden Port für den Rechner, werden alle Anfragen an die öffentliche IP-Adresse, welche auf den Port kommen an den Rechner weitergeleitet. - Da jedoch dein Server nicht auf seiner IP-Adresse horcht, ignoriert er die Nachricht.
Edit:
Kleine Analogie dazu, stell dir vor du erwartest einen Brief (Nachricht / Datei die versendet wird). - Der wird vom Absender bei der Post abgegeben (an deine externe IP gesendet). - Die Post (dein Router) weiß, das der Brief zu dir soll. Du gehst aber nicht zur Post und holst dir den Brief (im Normalfall).
Wissen ist nicht alles. Man muss es auch anwenden können.
PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |