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

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

Stone1984

Benutzer
Registriert
04. Jan. 2019
Beiträge
3
Reaktionspunkte
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
 
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
 
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.
 
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.
 
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