© best_vector/Shutterstock.com
Windows Developer
Teil 3: Socket-Kommunikation mit UDP

Socket für Flaschenpost

Im vorigen Teil der Serie haben wir einen Client und einen Server über TCP-Sockets miteinander kommunizieren lassen. Damals haben wir uns weder mit dem Auflösen von URLs noch mit UDP beschäftigt. Es ist nun an der Zeit, das nachzuholen.

Tam Hanna


Quellcode zum Download

Zuerst wollen wir uns den URLs zuwenden. Wie schon in Teil 1 festgestellt, sind IPv4-Adressen alles andere als leicht zu merken. Ganz ehrlich: www.tamoggemon.com ist um einiges leichter zu merken als 173.194.35.147. Die bis zu 128 Bit langen IPv6-Adressen spielen dann noch eine Ebene darüber – kurz gesagt: DNS macht Sinn.

Auflösungserscheinungen…

Der Vorgang des Beschaffens der zu einem URL zugehörigen IP-Adresse wird im Englischen als „resolve“ bezeichnet – die deutsche Übersetzung „auflösen“ ist weniger weit verbreitet, kommt aber auch immer wieder in Dokumenten vor.

Unser Beispiel SuSDNS ist relativ simpel: Es besteht aus einer Textbox, in die der Endanwender den zu bearbeitenden URL eingibt. Nach einem Klick auf Go startet der Auflösungsprozess, dessen Resultate in einer zweiten Textbox ausgegeben werden. Der dafür zuständige Code ist sehr primitiv (Listing 1).

Listing 1private void CmdLos_Click(object sender, EventArgs e){ IPAddress[] ips; ips = Dns.GetHostAddresses(TxtURL.Text); TxtResult.Text = "GetHostAddresses liefert " + Convert.ToString(ips.Length) + " Einträge\r\n"; foreach (IPAddress i in ips) { TxtResult.Text = TxtResult.Text + i.ToString() + "\r\n"; }}

Interessant ist daran vor allem, dass die Methode Get­HostAddresses mehr als nur eine IP-Adresse zurückliefern kann. Das ist legal – DNS erlaubt es, zu einem URL mehrere Adressen zu hinterlegen.

Die Abbildungen 1 und 2 zeigen zwei Auflösungsprozesse. Der eine liefert nur eine IP-Adresse zurück, der zweite gleich fünf.

Abb. 1: Dieser URL hat nur eine IP-Adresse

Abb. 2: Hier gibt es gleich fünf

Windows Developer
Teil 3: Socket-Kommunikation mit UDP

Socket für Flaschenpost

Im vorigen Teil der Serie haben wir einen Client und einen Server über TCP-Sockets miteinander kommunizieren lassen. Damals haben wir uns weder mit dem Auflösen von URLs noch mit UDP beschäftigt. Es ist nun an der Zeit, das nachzuholen.

Tam Hanna


Quellcode zum Download

Zuerst wollen wir uns den URLs zuwenden. Wie schon in Teil 1 festgestellt, sind IPv4-Adressen alles andere als leicht zu merken. Ganz ehrlich: www.tamoggemon.com ist um einiges leichter zu merken als 173.194.35.147. Die bis zu 128 Bit langen IPv6-Adressen spielen dann noch eine Ebene darüber – kurz gesagt: DNS macht Sinn.

Auflösungserscheinungen…

Der Vorgang des Beschaffens der zu einem URL zugehörigen IP-Adresse wird im Englischen als „resolve“ bezeichnet – die deutsche Übersetzung „auflösen“ ist weniger weit verbreitet, kommt aber auch immer wieder in Dokumenten vor.

Unser Beispiel SuSDNS ist relativ simpel: Es besteht aus einer Textbox, in die der Endanwender den zu bearbeitenden URL eingibt. Nach einem Klick auf Go startet der Auflösungsprozess, dessen Resultate in einer zweiten Textbox ausgegeben werden. Der dafür zuständige Code ist sehr primitiv (Listing 1).

Listing 1private void CmdLos_Click(object sender, EventArgs e){ IPAddress[] ips; ips = Dns.GetHostAddresses(TxtURL.Text); TxtResult.Text = "GetHostAddresses liefert " + Convert.ToString(ips.Length) + " Einträge\r\n"; foreach (IPAddress i in ips) { TxtResult.Text = TxtResult.Text + i.ToString() + "\r\n"; }}

Interessant ist daran vor allem, dass die Methode Get­HostAddresses mehr als nur eine IP-Adresse zurückliefern kann. Das ist legal – DNS erlaubt es, zu einem URL mehrere Adressen zu hinterlegen.

Die Abbildungen 1 und 2 zeigen zwei Auflösungsprozesse. Der eine liefert nur eine IP-Adresse zurück, der zweite gleich fünf.

Abb. 1: Dieser URL hat nur eine IP-Adresse

Abb. 2: Hier gibt es gleich fünf

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang