Extraktion der Router IP Adresse über xxx.synology.me mit C#

Status
Für weitere Antworten geschlossen.

Stone1984

Benutzer
Mitglied seit
04. Jan 2019
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
Hallo,

derzeit bin ich dabei eine Softwarekomponente mit C# zu entwickeln und möchte auf den NAS zugreifen. Aus dem lokalen Netzwerk stellt dies kein Problem dar. Hierzu sind die Benutzerdaten und die Serververbindung, sprich IP-Adressen anzugeben. Dies sieht ungefähr so aus:

Rich (BBCode):
string host = IpAdresse;
int port = xxxx;
string database = "Datenbank";
string username = "Benutzer";
string password = "Passwort";

Verwende ich die nicht statische IP-Adresse vom Router, so kann ich mich problemlos mit dem NAS verbinden. Allerdings ändert sich diese Adresse mit jeder neuen Router-Verbindung zum Internetprovider. Aus diesem Grund möchte ich gerne die
Rich (BBCode):
xxx.synology.me
Adresse für den Host zum Verbindungsaufbau nutzen. Hier müsste ich jedoch mit C# die aktuelle IP-Adresse extrahieren. Dies ist mir bisher jedoch noch nicht geglückt. Gibt es diesbezüglich Ideen, wie ich dies realisieren kann?

Vielen Dank für eure Hilfe schon mal im Voraus und mit freundlichen Grüßen

Thomas
 

himitsu

Benutzer
Sehr erfahren
Mitglied seit
22. Okt 2018
Beiträge
2.905
Punkte für Reaktionen
343
Punkte
123
Es soll also möglich sein von außerhalb des lokalen Netzwerks, also über das offene Internet, auf die DS zuzugreifen? (die Ports sind im Router dann vermutlich auch freigegeben)

Kannst du nicht statt der IP einfach den Namen xxx.synology.me verwenden und die automatische Namensauflösung nutzen oder muss Host unbedingt eine IP sein?

Ansonsten DNS/Hostname auflösen
http://www.lmdfdg.com?q=c#+domain+ip+auflösen
 

Stone1984

Benutzer
Mitglied seit
04. Jan 2019
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
Guten Morgen Himitsu,

vielen Dank für die schnelle Antwort. Sie hat mir sehr geholfen. Die Namensauflösung direkt hat leider nicht geklappt. Allerdings kann über die Namensauflösung direkt die IP extrahiert werden. Dies funktioniert mit

Rich (BBCode):
IPAddress ipaddress = Dns.GetHostAddresses("www.xxxx.synology.me")[0];
string address = ipaddress.ToString();

Es ist wichtig, das die Addresse mit www statt mit http verwendet wird. Zuvor nutzte ich wie gewohnt http bzw. https. In meinem Fall wird immer genau eine IP-Adresse zurückgeliefert und deshalb greife ich auf das erste Element des Arrays mit den Host-Adressen zu.
 

himitsu

Benutzer
Sehr erfahren
Mitglied seit
22. Okt 2018
Beiträge
2.905
Punkte für Reaktionen
343
Punkte
123
Sicher dass du www. unbedingt brauchst?

www. ist nur eine Subdomain und xxx. ist ebenfalls schon die gewünschte Subdomain.
Mit etwas Pech behandelt hier niemand dieses www und schon existiert diese Domain nicht, womit der Name nicht aufgelöst werden kann.
 

Stone1984

Benutzer
Mitglied seit
04. Jan 2019
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
Okay, es funktioniert in meinem Fall sowohl mit www. als auch ohne. Dann werde ich das www. besser weglassen. Vielen Dank.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat