Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Socket verbindet sich nicht zur realen Internetadresse
Dasart
myCSharp.de - Member



Dabei seit:
Beiträge: 25

Themenstarter:

Socket verbindet sich nicht zur realen Internetadresse

beantworten | zitieren | melden

Guten Tag

Ich habe ein Problem :

Mein Programm verbindet sich zwar zu localhost und zu meiner Lan Adresse (192.168.2.100) Aber sobal ich versuche über meine reale IP Adresse zu Connecten :
80.145.XXX.XXX

Gibt es Probleme.
Am Port kann es auch nicht mehr liegen, der ist freigegeben hier der Code :

try
                {
                    IPHostEntry hostinfo = Dns.GetHostEntry(Host);
                    IPEndPoint ep = new IPEndPoint(hostinfo.AddressList[0], 1050);
                    socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                    socket.Connect(ep);
                    online = true;
                }
                catch (Exception)
                {
                    Thread.Sleep(10000);
                }

"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 80.145.XXX.XXX:1050"

Hier wird die Verbindung angenommen :

 port = Convert.ToInt16(tbxPort.Text);
                listener = new TcpListener(IPAddress.Any, port);

                try
                {
                    listener.Start();
                    online = true;
                    Thread GettingClients = new Thread(GetClients);
                    GettingClients.Start();
                    btnListen.Text = "Stop Listen";
                    clients = new List<Client>(100);
                    tmrIsOnline.Enabled = true;
                }
                catch (Exception)
                {
                    throw;
                }
UND

if (online && listener.Pending())
                {
                    Socket socket = listener.AcceptSocket();
                    Thread StartingClient = new Thread(StartClient);
                    StartingClient.Start(socket);              
                }
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Dasart am .
private Nachricht | Beiträge des Benutzers
Gelöschter Benutzer

beantworten | zitieren | melden

port forwrding am zielnetz hast du aktiviert?
Dasart
myCSharp.de - Member



Dabei seit:
Beiträge: 25

Themenstarter:

beantworten | zitieren | melden

Zitat
Am Port kann es auch nicht mehr liegen, der ist freigegeben

Auch an Firewall kann es nicht liegen, am Router ist sie aus und die Windows eigene, da hab ich den Dienst gestoppt
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Dasart am .
private Nachricht | Beiträge des Benutzers
MartinH
myCSharp.de - Member

Avatar #avatar-1761.gif


Dabei seit:
Beiträge: 183
Herkunft: Asperg

beantworten | zitieren | melden

Port Forwarding hat auch mit der Firewall nichts zu tun.

Du must dem Router sagen, das er Anfragen an den Port XY an deinen PC weiterleiten soll.

Such mal nach Port Forwarding und NAT, das wird dir helfen.
private Nachricht | Beiträge des Benutzers
Dasart
myCSharp.de - Member



Dabei seit:
Beiträge: 25

Themenstarter:

beantworten | zitieren | melden

Wie schon jetzt das zweite mal zitiert :
Zitat
Am Port kann es auch nicht mehr liegen, der ist freigegeben

Damit meine ich meinen Router ;)
Das mit der Firewall war nur eine Randnotitz, damit diese eventualität ausgeschlossen werden kann.
private Nachricht | Beiträge des Benutzers
MarsStein
myCSharp.de - Experte

Avatar #avatar-3191.gif


Dabei seit:
Beiträge: 3430
Herkunft: Trier -> München

beantworten | zitieren | melden

Hallo,

seltsames Problem. Ein paar Hinweise zur Diagnose:

1. Kannst Du die externe IP-Adresse pingen?
2. Kannst Du Dich mit telnet auf den Port verbinden? In der cmd mit
telnet 80.145.XXX.XXX 1050

Wenn beides klappt, liegt es vermutlich an Deinem Programm.

Andernfalls:

- benutzt Du eine falsche IP
oder
- du verbindest auf einen falschen Port
oder
- Port Forwarding / NAT ist auf dem Router nicht richtig konfiguriert
oder
- eine Firewall blockiert den Traffic
oder
- es liegt ein anderes Problem in der Netzwerkkonfiguration vor -> welches, ist dann schwer zu sagen, so von aussen.

Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
private Nachricht | Beiträge des Benutzers
Dasart
myCSharp.de - Member



Dabei seit:
Beiträge: 25

Themenstarter:

beantworten | zitieren | melden

Danke aber das Problem hat sich heute aufeinmal von selbst gelöst o.O...

Hatte wirklich alles richtig eingestellt von Port forwarding bis zur Firewall.
Anpingen konnte ich die IP durch den Port auch und telnet gab ebenfalls keine Probleme.

Die Ip war eine Statische.

Ich hoffe nur das, dass das Problem nicht irgendwann unerwartet wieder auftaucht...
private Nachricht | Beiträge des Benutzers