![Page 1: NET Networking 1 - · 19.12.12 .NET Networking 3. Technische Universität München Aufgabenverteilung im Netzwerk Client/ServerModell Server (engl: to serve) bietet Dienste an Client](https://reader035.vdokument.com/reader035/viewer/2022062607/605b26fa3ffe9d46de5b5dfb/html5/thumbnails/1.jpg)
Technische Universität München
.NET Networking 1
Proseminar Objektorientiertes Programmieren mit .NET und C#
Matthias Jaros
Institut für InformatikSoftware & Systems Engineering
![Page 2: NET Networking 1 - · 19.12.12 .NET Networking 3. Technische Universität München Aufgabenverteilung im Netzwerk Client/ServerModell Server (engl: to serve) bietet Dienste an Client](https://reader035.vdokument.com/reader035/viewer/2022062607/605b26fa3ffe9d46de5b5dfb/html5/thumbnails/2.jpg)
Technische Universität München
19.12.12 .NET Networking 2
Agenda
Motivation Protokolle Sockets Anwendung in .NET C#
– Codebeispiele– Hilfsklassen
Demo Höhere API's
– .NET Remoting– MSMQ
![Page 3: NET Networking 1 - · 19.12.12 .NET Networking 3. Technische Universität München Aufgabenverteilung im Netzwerk Client/ServerModell Server (engl: to serve) bietet Dienste an Client](https://reader035.vdokument.com/reader035/viewer/2022062607/605b26fa3ffe9d46de5b5dfb/html5/thumbnails/3.jpg)
Technische Universität München
Wozu überhaupt verteilte Anwendungen?
● Nicht verteilte Anwendungen im Allgemeinen sicherer und performanter
Vorteile von verteilten Anwendungen:● Nutzer können Dienste und Anwendungen in Anspruch nehmen
unabhängig vom aktuellen Standort.● Gemeinsame Nutzung von Ressourcen
➔ Netzwerkdrucker➔ Dateiserver, Datenbank
● Bestes Beispiel: Internet (www,email,...)
19.12.12 .NET Networking 3
![Page 4: NET Networking 1 - · 19.12.12 .NET Networking 3. Technische Universität München Aufgabenverteilung im Netzwerk Client/ServerModell Server (engl: to serve) bietet Dienste an Client](https://reader035.vdokument.com/reader035/viewer/2022062607/605b26fa3ffe9d46de5b5dfb/html5/thumbnails/4.jpg)
Technische Universität München
Aufgabenverteilung im Netzwerk
Client/ServerModell● Server (engl: to serve) bietet Dienste an● Client nimmt Dienste in Anspruch
PeertoPeer● Programm ist Server und Client zugleich.
19.12.12 .NET Networking 4
![Page 5: NET Networking 1 - · 19.12.12 .NET Networking 3. Technische Universität München Aufgabenverteilung im Netzwerk Client/ServerModell Server (engl: to serve) bietet Dienste an Client](https://reader035.vdokument.com/reader035/viewer/2022062607/605b26fa3ffe9d46de5b5dfb/html5/thumbnails/5.jpg)
Technische Universität München
Internet Protocol (IP)
● Erste vom Übertragungsmedium unabhängige Schicht● Dient der Adressierung von Computern in Netzwerken● IP Version 4 sehr verbreitetes Protokoll● Nachfolger ist IP Version 6 da größerer Adressbereich● TCP wie UDP basieren auf IP● Lokaler Computer hat immer 127.0.0.1
19.12.12 .NET Networking 6
![Page 6: NET Networking 1 - · 19.12.12 .NET Networking 3. Technische Universität München Aufgabenverteilung im Netzwerk Client/ServerModell Server (engl: to serve) bietet Dienste an Client](https://reader035.vdokument.com/reader035/viewer/2022062607/605b26fa3ffe9d46de5b5dfb/html5/thumbnails/6.jpg)
Technische Universität München
19.12.12 .NET Networking 7
Transmission Control Protocol
Vorteile● Verbindungsorientiert● Reihenfolge der Pakete garantiert● Drei-Wege-Handschlag● Flusssteuerung
Nachteile● Viel Overhead● Langsam
![Page 7: NET Networking 1 - · 19.12.12 .NET Networking 3. Technische Universität München Aufgabenverteilung im Netzwerk Client/ServerModell Server (engl: to serve) bietet Dienste an Client](https://reader035.vdokument.com/reader035/viewer/2022062607/605b26fa3ffe9d46de5b5dfb/html5/thumbnails/7.jpg)
Technische Universität München
User Datagram Protocol
Vorteile● Minimal● Schnell● Weniger Overhead
Nachteile● Keine Sequenznummern● Verbindungslos● Keine Flusssteuerung
19.12.12 .NET Networking 8
![Page 8: NET Networking 1 - · 19.12.12 .NET Networking 3. Technische Universität München Aufgabenverteilung im Netzwerk Client/ServerModell Server (engl: to serve) bietet Dienste an Client](https://reader035.vdokument.com/reader035/viewer/2022062607/605b26fa3ffe9d46de5b5dfb/html5/thumbnails/8.jpg)
Technische Universität München
Ports
● Nötig um eine bestimmte Anwendung ansprechen zu können● Im TCP/UDP Header stehen Quell und Zielport
● Drei Unterscheidbare Bereiche➔ System Ports 01023 durch IANA standardisiert➔ User Ports 102449151➔ Dynamic Ports 4915265535
19.12.12 .NET Networking 9
![Page 9: NET Networking 1 - · 19.12.12 .NET Networking 3. Technische Universität München Aufgabenverteilung im Netzwerk Client/ServerModell Server (engl: to serve) bietet Dienste an Client](https://reader035.vdokument.com/reader035/viewer/2022062607/605b26fa3ffe9d46de5b5dfb/html5/thumbnails/9.jpg)
Technische Universität München
Anwendungsgebiete
TCP● FTP 21● SFTP 22● HTTP 80● Telnet 23● SSH 22● SMTP 25
UDP● Allgemein VoIP
➔ RTP➔ RTSP 554
● Domain Name System 53● Youtube
19.12.12 .NET Networking 10
![Page 10: NET Networking 1 - · 19.12.12 .NET Networking 3. Technische Universität München Aufgabenverteilung im Netzwerk Client/ServerModell Server (engl: to serve) bietet Dienste an Client](https://reader035.vdokument.com/reader035/viewer/2022062607/605b26fa3ffe9d46de5b5dfb/html5/thumbnails/10.jpg)
Technische Universität München
Sockets
Bild(3)
19.12.12 .NET Networking 11
![Page 11: NET Networking 1 - · 19.12.12 .NET Networking 3. Technische Universität München Aufgabenverteilung im Netzwerk Client/ServerModell Server (engl: to serve) bietet Dienste an Client](https://reader035.vdokument.com/reader035/viewer/2022062607/605b26fa3ffe9d46de5b5dfb/html5/thumbnails/11.jpg)
Technische Universität München
Sockets
● Mehrere unterscheidbare Arten– Raw-Sockets– Stream-Sockets – Datagram-Sockets
● Entwickelt von der Berkeley Universität● Schnittstelle zwischen Programm und Rechnernetz● Bidirektionale Kommunikation möglich
19.12.12 .NET Networking 12
![Page 12: NET Networking 1 - · 19.12.12 .NET Networking 3. Technische Universität München Aufgabenverteilung im Netzwerk Client/ServerModell Server (engl: to serve) bietet Dienste an Client](https://reader035.vdokument.com/reader035/viewer/2022062607/605b26fa3ffe9d46de5b5dfb/html5/thumbnails/12.jpg)
Technische Universität München
Nützliches
19.12.12 .NET Networking 13
IPAddress ● Speichert IP eines Computers in einem Netzwerk● Hat intern loopback und broadcast IPv4/v6 Adresse gespeichert
IPEndPoint ● Speichert IP und Port des lokalen und gegebenenfalls des Servers ab
![Page 13: NET Networking 1 - · 19.12.12 .NET Networking 3. Technische Universität München Aufgabenverteilung im Netzwerk Client/ServerModell Server (engl: to serve) bietet Dienste an Client](https://reader035.vdokument.com/reader035/viewer/2022062607/605b26fa3ffe9d46de5b5dfb/html5/thumbnails/13.jpg)
Technische Universität München
Codebeispiele in C# .NET
19.12.12 .NET Networking 14
● Socket als TCP Client Beispiel
● Socket als TCP Server Beispiel
![Page 14: NET Networking 1 - · 19.12.12 .NET Networking 3. Technische Universität München Aufgabenverteilung im Netzwerk Client/ServerModell Server (engl: to serve) bietet Dienste an Client](https://reader035.vdokument.com/reader035/viewer/2022062607/605b26fa3ffe9d46de5b5dfb/html5/thumbnails/14.jpg)
Technische Universität München
Codebeispiele in C# .NET
● UDP Sender Socket
19.12.12 .NET Networking 15
![Page 15: NET Networking 1 - · 19.12.12 .NET Networking 3. Technische Universität München Aufgabenverteilung im Netzwerk Client/ServerModell Server (engl: to serve) bietet Dienste an Client](https://reader035.vdokument.com/reader035/viewer/2022062607/605b26fa3ffe9d46de5b5dfb/html5/thumbnails/15.jpg)
Technische Universität München
Hilfsklassen
● Kapseln Details über TCP/UDP Verbindungen● Bieten einfachere und benutzerfreundlichere Schnittstelle
● UdpClient Hilfsklasse als Server und Client nutzbar
19.12.12 .NET Networking 16
![Page 16: NET Networking 1 - · 19.12.12 .NET Networking 3. Technische Universität München Aufgabenverteilung im Netzwerk Client/ServerModell Server (engl: to serve) bietet Dienste an Client](https://reader035.vdokument.com/reader035/viewer/2022062607/605b26fa3ffe9d46de5b5dfb/html5/thumbnails/16.jpg)
Technische Universität München
Hilfsklassen
19.12.12 .NET Networking 17
![Page 17: NET Networking 1 - · 19.12.12 .NET Networking 3. Technische Universität München Aufgabenverteilung im Netzwerk Client/ServerModell Server (engl: to serve) bietet Dienste an Client](https://reader035.vdokument.com/reader035/viewer/2022062607/605b26fa3ffe9d46de5b5dfb/html5/thumbnails/17.jpg)
Technische Universität München
Bibliotheken
19.12.12 .NET Networking 18
System
System.Net
System.Net.Sockets
System.IO
![Page 18: NET Networking 1 - · 19.12.12 .NET Networking 3. Technische Universität München Aufgabenverteilung im Netzwerk Client/ServerModell Server (engl: to serve) bietet Dienste an Client](https://reader035.vdokument.com/reader035/viewer/2022062607/605b26fa3ffe9d46de5b5dfb/html5/thumbnails/18.jpg)
Technische Universität München
DEMO
19.12.12 .NET Networking 19
![Page 19: NET Networking 1 - · 19.12.12 .NET Networking 3. Technische Universität München Aufgabenverteilung im Netzwerk Client/ServerModell Server (engl: to serve) bietet Dienste an Client](https://reader035.vdokument.com/reader035/viewer/2022062607/605b26fa3ffe9d46de5b5dfb/html5/thumbnails/19.jpg)
Technische Universität München
.NET Remoting
● Framework für Kommunikation● Früher Distributed COM zuständig für Netzwerkkommunikation● Erlaubt Erstellung von Objekten über ein Rechnernetz● Objekte können vom Server oder Client erstellt werden● Wurde größtenteils von WCF abgelöst
19.12.12 .NET Networking 20
![Page 20: NET Networking 1 - · 19.12.12 .NET Networking 3. Technische Universität München Aufgabenverteilung im Netzwerk Client/ServerModell Server (engl: to serve) bietet Dienste an Client](https://reader035.vdokument.com/reader035/viewer/2022062607/605b26fa3ffe9d46de5b5dfb/html5/thumbnails/20.jpg)
Technische Universität München
Microsoft Message Queuing
● Kurz MSMQ● Warteschlangen System● Wird für Kommunikation zwischen Anwendungen benutzt● Kommunikation selbst dann möglich, wenn eine Anwendung offline
➔ Zwischenspeichern der Daten● Benutzt TCP und UDP Verbindungen● Benutzer muss sich nicht mit niedrigen API's (TCP,UDP) befassen
19.12.12 .NET Networking 21
![Page 21: NET Networking 1 - · 19.12.12 .NET Networking 3. Technische Universität München Aufgabenverteilung im Netzwerk Client/ServerModell Server (engl: to serve) bietet Dienste an Client](https://reader035.vdokument.com/reader035/viewer/2022062607/605b26fa3ffe9d46de5b5dfb/html5/thumbnails/21.jpg)
Technische Universität München
Referenzen
● Jay Hilyard & Stephen Teilhet, 'C# Kochbuch', 2006● http://msdn.microsoft.com● Bilder
➔ Bild(1):http://www.tcpipinfo.de/glossar/glossar_t.htm
➔ Bild(2):http://upload.wikimedia.org/wikipedia/commons/9/98/Tcphandshake.svg
➔ Bild(3):http://alischirasi.blogsport.de/2009/07/18/irandemomitdersteckdose/
19.12.12 .NET Networking 22