CS1024 Internetbasierte Systeme

Größe: px
Ab Seite anzeigen:

Download "CS1024 Internetbasierte Systeme"

Transkript

1 CS1024 Internetbasierte Systeme Bachelor of Science (Informatik) Einleitung Internet und Netzwerk-Programmierung Th Letschert

2 IBS Einleitung Seite 2 Th Letschert

3 IBS Dozent Dr. Th. Letschert Lernziele grundlegende Kenntnisse Client- und Server-seitiger Web-Programmierung und der dabei verwendeten Standards technisches Verständnis der Architektur gängiger einfacher WebapplikationsTypen. Inhalt Basiswissen Netzprogrammierung Verständnis verteilter Internet-basierter Anwendungen Verständnis Web-/HTTP-basierter verteilter Anwendungen Verständnis von Basistechnologien im Web: HTML, CSS, XML, JSON, DOM, AJAX, Client- und Server-seitige Programmiersprachen Achtung: IBS ist eine anspruchsvolle Veranstaltung! Seite 3 Th Letschert

4 IBS Voraussetzungen Programmierkenntnisse und -Fertigkeiten entsprechend einer erfolgreichen* Teilnahme an der Veranstaltung OOP, Programmierung interaktiver Systeme sollte parallel besucht werden Kenntnisse im Gebiet Rechnernetze entsprechend einer erfolgreichen* Teilnahme an der Veranstaltung Rechnernetze und ihre Anwendungen * erfolgreiche Teilnahme = Teilnahme mit einem Gewinn an Wissen und Können Seite 4 Th Letschert

5 IBS Prüfungsmodalitäten und Ablauf Klausur Die Prüfung findet in Form einer Klausur statt Klausurvoraussetzung Zulassung zur Klausur entsprechend der Modulbeschreibung: Zulassung mit zwei anerkannten Hausübungen Übungen Jedes Übungsblatt besteht aus Einem Vorbereitungsteil Der Vorbereitungsteil wird selbständig von Ihnen vor der Übung bearbeitet. Einem Präsenzteil Der Präsenzteil wird in der Übung behandelt. Einem Hausübungsteil Dieser Teil wird selbständig von Ihnen nach der Übung bearbeitet. Einige der Hausübungen werden anerkennbar sein. Seite 5 Th Letschert

6 IBS Netzwerkprogrammierung Seite 6 Th Letschert

7 Internet Internet Inter-Net = interconnected network Verbund von lokalen (Schicht 1/2) Netzen Auf Basis einheitlicher Protokolle (TCP/IP Protokollsuite) Zu einem weltweiten Netzverbund Zentrales Protokoll IP: regelt weltweiten Datentransport via Router Zentrale Protokolle TCP/UDP: regelt Datenaustausch der Rechner Hilfsprotokolle: DNS, ARP,... Anwendungsprotokolle für , Web,... Anwendungsprotokoll Anwendung API (Sockets) 4 (TCP/UDP) Anwendung (virtuelle) Schicht-4 Ende-zu-Ende-Kommunikation 3 (IP) 3 (IP) 3 (IP) API (Sockets) 4 (TCP/UDP) 3 (IP) 2 (Ethernet) Seite 7 BS Hardware Th Letschert

8 Internet Schichten Aufteilung einer verteilten Anwendung in Module mit höheren und niederen Aufgaben Beispiel TCP/IP Schichten: FTP TCP IP Ethernet DateiTransfer VerbindungsKontrolle PaketRouting RahmenTransport Seite 8 FTP TCP IP Ethernet Th Letschert

9 Internet Schichten und Paketverschachtelung Anwendung TCP Impl IP Impl Ethernet Impl HW-Adr Protokoll: IP Rahmen IP-Addr Protokoll: TCP IP-Paket Port 4711 TCP-Paket FTP FTP TCP TCP IP IP Ethernet Ethernet AnwendungsPaket NutzDaten Seite 9 Th Letschert

10 Internet-Programmierung Internet-Programmierung (Socket-Programmierung) Entwicklung von Anwendungen die direkt TCP oder UDP nutzen Sockets: standardisierte Schnittstelle (API) zu TCP und UDP TCP Implementierung bietet Gesicherte Ende-zu-Ende Kommunikation Gesichert: Fehler- und Flusskontrolle via Verbindung UDP Implementierung bietet Ungesicherte Ende-zu-Ende Kommunikation Ungesichert: (unbemerkter) Datenverlust möglich, Empfangsreihenfolge nicht garantiert gleich der Sendereihenfolge Socket SAP (Service Access Point) Verbindungsendpunkt der Schicht-4: SAP ~ Socketadresse = IP-Adresse + Port-Nummer Kommunikation Socket als Ansprechpunkt für andere bereitstellen Socket der Partner über eigenen Socket nutzen Seite 10 Socket BS / Hardware / Netz Th Letschert

11 Internet-Programmierung Socket-Kommunikation in die JSE-API integriert (Paket java.net) Umschlag- (Wrapper-) Klassen für Sockets: Socket java.net.socket verbindungsorientierte Kommunikation, Datenaustausch, Client und Server ServerSocket java.net.serversocket verbindungsorientierte Kommunikation, Server erwartet Verbindung DatagramSocket java.net.datagramsocket verbindungslose Kommunikation, Datenaustausch beide Partner Diverse Hilfsklassen DatagramPacket InetAddress SocketAddress... Datenpaket bei UDP (verbindungsloser) Komm. Umschlag-Klasse für IP-Adressen IP-Adress + Port Seite 11 Th Letschert

12 Internet-Programmierung / TCP socket socket bind listen accept connect read/write read/write close close Server Client Socket-API: Funktionen und ihre Verwendung für eine verbindungsorientierte Kommunikation auf der Ebene des Betriebssystems Seite 12

13 Internet-Programmierung / TCP Server: Stelle Port zur Verfügung, Akzeptiere Verbindung vom Client eigene Adresse setzen (IP/Port, IP-Adr. implizit) ServerSocket serversock = new ServerSocket(4711); Server: Erzeuge Server-Socket Server: Erwarte Verbindungswunsch Socket sock = serversock.accept(); 4711: Port an dem Client Verbindungsaufbau 4711 Verbindung (Kommunikationsweg) Seite 13 Server Verbindungswünsche angenommen werden. : Server-seitiger Endpunkt für Verbindungswünsche : Server-seitiger Endpunkt der aufgebauten Verbindung.

14 Internet-Programmierung / TCP Client baut Verbindung zum Server auf Stelle Verbindung zum Server her Socket socket = new Socket('' '', 4711); fremde Adresse angeben (IP/Port) eigene Adresse (IP, Port) wird implizit gesetzt Die Kommunikation kann jetzt beginnen Verbindungsaufbau Client Verbindung (Kommunikationsweg ) Server Seite 14 Client gibt die Serveradresse an. Die eigene Adresse wird implizit gesetzt. Beim Verbindungsaufbau wird die Client-Adresse dem Server bekannt gegeben. Die Anwendung muss sich nicht um die Adressen der Kommunikationsendpukte (z.b.: 3599) kümmern.

15 Internet-Programmierung / TCP Client empfängt Daten vom Server Stelle Verbindung zum Server her Socket sock = new Socket('' '', 4711); Erzeuge InputStreamReader aus dem Eingabestrom der Verbindung InputStreamReader stream = new InputStreamReader(sock.getInputStream()); Erzeuge einen BufferedReader BufferedReader reader = new BufferedReader(stream); Lies String msg = reader.readline(); Daten BufferedReader InputStreamReader Socket input stream Server Client Seite 15

16 Internet-Programmierung / TCP Server empfängt Daten vom Client Verbindungsaufbau durch Client Socket serversock = new ServerSocket(4711); Socket sock = serversock.accept(); Erzeuge InputStreamReader aus dem Eingabestrom der Verbindung InputStreamReader stream = new InputStreamReader(sock.getInputStream()); Erzeuge einen BufferedReader BufferedReader reader = new BufferedReader(stream); Lies String msg = reader.readline(); Daten Socket input stream Client Server Seite 16 InputStreamReader BufferedReader

17 Internet-Programmierung / TCP Client / Server sendet Daten zum Server / Client Verbindungsannahme durch Server Socket serversock = new ServerSocket('4711); Socket sock = serversock.accept(); Client Socket sock = new Socket('' '', 4711); Erzeuge Printwriter aus dem Ausgabestrom der Verbindung PrintWriter writer = new PrintWriter(sock.getOutputStream()); Schreibe (Sende) writer.println(''hallo Du da, alles klar?'') Daten PrintWriter Socket output stream Client / Server Seite 17 Server / Client

18 Internet-Programmierung / TCP Daten Daten BufferedReader InputStreamReader Socket input stream Socket output stream PrintWriter Hier symmetrische Struktur der Kommunikation bei Client und Server Seite 18 der Partner

19 Internet-Programmierung / TCP public class EchoServer { static final int ECHO_PORT = 4713; public static void main(string[] args) { try { ServerSocket serversock = new ServerSocket(ECHO_PORT); while ( true ) { Socket sock = serversock.accept(); PrintWriter pw = new PrintWriter(sock.getOutputStream()); InputStreamReader stream = new InputStreamReader(sock.getInputStream()); BufferedReader reader = new BufferedReader(stream); String msg = reader.readline(); String response = "Echo: "+ msg; pw.println(response); pw.flush(); reader.close(); pw.close(); sock.close(); } } catch (IOException e) { e.printstacktrace(); } } } Beispiel verbindungsorientierte Kommunikation: Echo-Server Seite 19

20 Internet-Programmierung / TCP public class EchoClient { public static void main(string[] args) { Socket sock; try { sock = new Socket(" ", EchoServer.ECHO_PORT); PrintWriter pw = new PrintWriter(sock.getOutputStream()); InputStreamReader stream = new InputStreamReader(sock.getInputStream()); BufferedReader reader = new BufferedReader(stream); pw.println("hallo"); pw.flush(); String response = reader.readline(); System.out.println("Received from Server: "+ response); reader.close(); pw.close(); sock.close(); } catch (IOException e) { e.printstacktrace(); } } } Verbindungsorientierte Kommunikation: Beispiel Client Seite 20

21 Internet-Programmierung / TCP Sockets bauen Verbindung auf durch Konstruktoren: public Socket(String host, int port) throws UnknownHostException,IOException public Socket(InetAddress address, int port) throws IOException public Socket(String host, int port, InetAddress throws IOException localaddr,int localport) public Socket(InetAddress address,int port, InetAddress localaddr, int localport) throws IOException Der entfernte Rechner und der entfernte Port müssen mindestens angegeben werden Der entfernte (oder eigene) Rechner kann angegeben werden als String (Rechner-Name oder dotted-decimal IP-Adresse) oder als Objekt vom Typ InetAddress Der Port ist Bereich 1 bis (1 bis 1023 auf Unix für root reserviert) Der entfernte Rechner muss am angegebenen Port auf Verbindungen warten Ein Socket kann immer nur mit einem anderen verbunden sein Seite 21

22 Internet-Programmierung / TCP Server-Sockets durch Konstruktoren an SocketAdresse binden: public ServerSocket(int port) throws IOException public ServerSocket(int port, int backlog) throws IOException public ServerSocket(int port, int backlog, InetAddress bindaddr) throws IOException Der eigene Port muss mindestens angegeben werden (0 ~ irgendein freier Port) Der eigene Rechner kann angegeben werden als Objekt vom Typ InetAddress wird keine Adresse angegeben dann bindet sich der Socket an den Port bei allen verfügbaren IP-Adressen (Schnittstellen) des Rechners Ankommende Verbindungswünsche werden bei Bedarf gepuffert, backlog setzt Puffergröße Über einen ServerSocket können sich viele Clients mit einem Server verbinden An einen Port (pro IP-Adresse) kann nur ein ServerSocket gebunden sein accept blockiert bis ein Verbindungswunsch eintrifft und liefert dann ein Socket-Objekt das zur Kommunikation genutzt werden kann Seite 22

23 Internet-Programmierung / UDP User Datagram Protocol UDP verbindungsloses IP-Transport-Protokoll (Schicht-4) UDP ist paketorientiert, Paket = Datagramm ~ IP-Paket keine Fehler- / Fluss-Kontrolle schneller / einfacher als TCP im LAN oft ausreichend sicher UDP Nutzung via Socket-API Paket-orientierte Kommunikation (statt Strom-orientiert) Pakete senden / empfangen (statt Bytes schreiben / lesen) Symmetrische Struktur (statt Client vs. Server) Seite 23

24 Internet-Programmierung / UDP UDP-Unterstützung in Java Klasse DatagrammPaket Zum Senden und Empfangen von Datenpaketen beinhaltet Daten (Byte-Array) theoretische maximale Paketgröße: Bytes realistische (Netz-unterstützte) Größe: 8192 Bytes beinhaltet Socket-Adresse (IP + Port) Konstuktor auf der Empfangsseite (Adresse ergibt sich empfangenem Paket): DatagramPacket (byte [] data, int length) Konstruktor auf der Sendeseite DatagramPacket (byte [] data, int length, InetAddress address, int port) Klasse DatagramSocket kann zum Senden und Empfangen verwendet werden Seite 24

25 Internet-Programmierung / UDP public class UdpServer { public static void main(string[] args) { try { if (args.length!= 1) { System.out.println("Aufruf: server <port>"); System.exit(0); } int port = Integer.valueOf(args[0]).intValue(); // Socket anlegen und mit eigener Adress versehen DatagramSocket dtgrmsocket = new DatagramSocket(port); System.out.println("Erwartet Daten auf Port " + port); // Datenpaket zum Empfang von Daten bauen byte[] buf = new byte[256]; DatagramPacket rcvpkt = new DatagramPacket(buf, buf.length); while (true) { try { // Daten empfangen dtgrmsocket.receive(rcvpkt); Verbindungslose Kommunikation: Beispiel 1 Server / 1 Seite 25

26 Internet-Programmierung / UDP // empfangene Daten ausgeben System.out.println( "Server hat Daten empfangen: " + new String(rcvpkt.getData(), 0, rcvpkt.getlength()) // Absender Adresse und Port feststellen: InetAddress clientadr = rcvpkt.getaddress(); int clientport = rcvpkt.getport(); System.out.println("Von Rechner: " + clientadr.gethostaddress() + " an Port: "+clientport); // Baue Antwort Paket und sende Antwort: DatagramPacket sndpkt = new DatagramPacket(buf, buf.length, clientadr, clientport); dtgrmsocket.send(sndpkt); } catch (IOException e) { System.err.println("FEHLER"); System.exit( 1); } }//while } catch (IOException e) { System.err.println("FEHLER"); System.exit( 1); } // try catch }//main } Verbindungslose Kommunikation: Beispiel 1 Server / 2 Seite 26

27 Internet-Programmierung / UDP public class UdpClient { public static void main(string[] args) { if (args.length!= 2) { System.out.println("Aufruf: client <server> <port>"); System.exit(0); } // Adressdaten des Partner bestimmen: String host = args[0]; // Name oder IP Adr als String InetAddress serveraddress = null; // Adresse (wird noch festgetellt) int port = Integer.valueOf(args[1]).intValue(); // Port // Datagramm Socket anlegen DatagramSocket dtgrmsocket = null; try { dtgrmsocket = new DatagramSocket(); } catch (SocketException e) { System.err.println("FEHLER: Kann Socket nicht erzeugen!"); System.exit( 1); } Verbindungslose Kommunikation: Beispiel 2 Client / 1 Seite 27

28 Internet-Programmierung / UDP // IP Adresse als Binaerwert feststellen: try { serveraddress = InetAddress.getByName(host); } catch (UnknownHostException e) { System.err.println(e); System.exit( 1); } // Datenpaket bauen: String msg = "Hallo wer da?"; byte buf[] = msg.getbytes(); DatagramPacket pkt = new DatagramPacket(buf, buf.length, // Daten serveraddress, port); // Zieladresse // Paket senden: try { dtgrmsocket.send(pkt); } catch(ioexception e) { System.err.println("Send Fehler " + e); System.exit( 1); } // Antwort empfangen: try { dtgrmsocket.receive(pkt); } catch(ioexception e) { System.err.println(e); System.exit( 1); } System.out.println("Client hat empfangen: " +new String(pkt.getData())); } } Verbindungslose Kommunikation: Beispiel 2 Client / 2 Seite 28

29 Internet-Programmierung / UDP java.net.datagrampacket Umschlag um zu sendende / zu empfangende Daten als Byte-Array Enthält Adresse (IP + Port) des Ziels der Sendung / des Senders java.net.datagramsocket Verbindung mit lokaler Adresse (IP + Port) Via DatagramSocket kann zu unterschiedlichen Zielen gesendet werden (Ziel-Adress-Info steckt im Paket nicht im Socket) UDP-Ports im Bereich 1 bis 65,536, völlig unabhängig von TCP-Ports. DatagramPacket Konstruktoren Empfängerseite: public DatagramPacket( byte[] data, int length) Senderseite: public DatagramPacket( byte[] data, int length, InetAddress iaddr, int iport) Seite 29

30 Internet-Programmierung / UDP java.net.inetaddress Umschlag-Klasse für IP-Adresse Enthält Routinen zur Adressauflösung, z.b.: public static InetAddress getbyname(string host) throws UnknownHostException Seite 30

31 Internet-Programmierung / UDP Datagramme senden Daten in Bytes konvertieren und in Byte-Array speichern Erzeuge DatagramPacket aus: Byte-Array Anzahl der zu sendenden Bytes (i.d.r. Länge des Arrays) IP-Adresse als InetAddress-Objekt Port-Nr Erzeuge DatagramSocket aktiviere dessen send-methode mit DatagramPacket als Argument Seite 31

32 Internet-Programmierung / UDP Datagramme empfangen Erzeuge DatagramSocket-Objekt mit lokalem Port (+ eventuell IP-Adresse) über den (die) empfangen werden soll receive aufrufen mit leerem DatagramPacket-Objekt blockiert bis Daten-Paket eintrifft Leeres DatagramPacket-Objekt wird bei Empfang gefüllt Mit den DatagramPacket-Methoden : getport() getaddress() kann festgestellt werden woher die Daten kommen und getdata() getlength() liefern die empfangenen Daten als Byte-Array und dessen Länge Seite 32

33 IBS Protokolle Seite 33 Th Letschert

34 Protokoll Protokoll Verhaltensregel von Kommunikationspartnern Welche Nachrichten werden gesendet Wie wird auf eintreffende Nachrichten reagiert Zustandslose und zustandsbehaftete Protokolle Zustandslos Die Reaktion auf eine Nachricht hängt nur von der Nachricht ab Zustandsbehaftet Die Reaktion auf eine Nachricht hängt von der Nachricht und dem was vorher geschah ab Zustand Wert(e) / Daten die die Historie der Interaktion beinhalten Seite 34

35 Protokolle 1. Protokoll definiert Nachrichtenformat (auch auf Bit-Ebene!) Zeichen-orientierte oder Byte-orientierte Protokolle Zeichenorientiert Byteordung: Litte-endian oder Big-endian Byte-Interpretation: Zeichencodierung 2. Protokoll definiert Austausch-Regeln Zustände: Welche Zustände können die Kommunikationspartner einnehmen Welche Nachrichten werden in welchem Zustand akzeptiert Zustandsübergänge: Welche Zustandsänderungen und Aktionen erfolgen beim Empfang einer Nachricht Seite 35

36 Protokolle Verteilte Anwendung ~ Protokoll = Dienst + Interaktionsregeln Zustands-Automaten Nachrichten (-Formate) Zustands-Automaten implementieren das Protokoll auf Client- und Server-Seite Kunde Dienst Protokoll-Instanz (Client-Seite) Protokoll-Instanz (Server-Seite) Msg Nachrichten TCP TCPProtokoll Transportmedium TCP Seite 36

37 Protokolle / Zeichencodierung Datentansfer via Sockets kann zu Codierungsproblemen führen selbst bei der Kommunikation nur von Java-Anwendungen HλllΏ PrintWriter pw = new PrintWriter(sock.getOutputStream()); InputStreamReader stream = new InputStreamReader(sock.getInputStream()); BufferedReader reader = new BufferedReader(stream); pw.println("hällö"); pw.flush(); String response = reader.readline(); System.out.println("Received from Server: "+ response); empfangen Client (Mac) Hällö gesendet PrintWriter pw = new PrintWriter(sock.getOutputStream()); InputStreamReader stream = new InputStreamReader(sock.getInputStream()); BufferedReader reader = new BufferedReader(stream); String msg = reader.readline(); System.out.println("Server received "+msg); String response = "Echo: "+ msg; pw.println(response); Server (Unix) Seite 37 Hßllǿ empfangen

38 Protokolle / Zeichencodierung Java: Zeichen!= Byte Streams: Folgen von Bytes Strings: Folgen von Zeichen (Chars) in UTF16 -Codierung (Unicode) / 1 Char ~ 2 Bytes Charset: Definition der Abbildung [Zeichencodierung]: Unicode-Zeichen <~> Byte(s) default Charset: Jede JVM-Instanz hat ein Standard- (default) Charset ~ Zeichencodierung der Plattform String Chars Bytes PrintWriter Socket output stream codiert Chars zu Bytes (8-Bit Einheiten) entsprechend einem (default) Charset Netz decodiert Bytes zu Chars (16-Bit Einheiten) entsprechend einem ((anderen?) default) Charset BufferedReader String Chars InputStreamReader Seite 38 Bytes Socket input stream

39 Protokolle / Zeichencodierung Default-Codierung feststellen: Default-Codierung wird angenommen, wenn nicht explizit eine andere gesetzt wird. Fremde Systeme arbeiten i.d.r. mit anderen Codierungen: explizit setzen! String kann zwischen Zeichen und Bytes konvertieren 2-Byte-ige Codierungen wie UFT16 müssen die Byte-Ordnung berücksichtigen UTF-16BE : 2 Byte-ige UnicodeDarstellung im BigEndian Format Byteordung: Reihenfolge der zusammengehörigen Bytes: zuerst die höhrerwertigen oder zuerst die niederwertigen String encoding = System.getProperty("file.encoding"); InputStreamReader instream = new InputStreamReader(sock.getInputStream(), "MacRoman"); BufferedReader r = new BufferedReader ( new InputStreamReader( new FileInputStream ("datei.txt", "CP1252")); String s = "Grüß mir die Wälder!"; byte[] bytearray = s.getbytes("utf 8"); public class Hallo { public static void main(string[] args) throws UnsupportedEncodingException { byte[] bytearray = {0x00, 0x48, 0x00, 0x61, 0x00, 0x6c, 0x00, 0x6c, 0x00, 0x6f}; String s = new String( bytearray, "UTF 16BE"); System.out.println(s); } } Seite 39

40 Protokolle / Verbindung und Sitzung Verbindungen und Sitzungen (virtuelle) Verbindung (Connection) Konzept der Schicht-4 und Schicht-2 Fehlerkontrolle erfordert Verbindung (weil Info über den Zustand der Kommunikation notwendig ist um Fehler korrigieren zu können) Verbindung ~ virtuelle Identität Einheit aus <Kommunikationspartnern + Historie der bisherigen Interaktion> Verbindung und Zustand (Der relevante Teil der) Historie kann als Zustand gespeichert werden Historie: Partner haben 5 Nachrichten ausgetauscht Zustand: Zählervariable mit Wert 5 Sitzung (Session) Konzept der Anwendungsschicht (virtuelle) Verbindung auf Anwendungsebene Konzept identisch mit Verbindung Seite 40

41 IBS Threads Seite 41 Th Letschert

42 Threads Erzeugung eines Threads Methode A: Ableitung von Thread 1. Ableitung der neuen (nebenläufigen) Klasse von der Klasse Thread mit Redefinition der run-methode class MyThreadClass extends Thread {... public void run() {...}... } java.lang.thread run():void 2. Thread-Objekt erzeugen MyThreadClass MyThreadClass einthreadobj = new MyThreadClass(...); run():void 3. Thread-Objekt starten einthreadobj.start(); Seite 42 Th Letschert

43 Threads Erzeugung eines Threads Methode B: Schnittstelle Runnable implementieren 1. neue (nebenläufige) Klasse als Implementierung der Schnittstelle Runnable definieren class MyRunClass implements Runnable {... public void run() {...}... } 2. Thread-Objekt erzeugen: Instanz der Runnable Klasse an Thread-Konstruktor übergeben Thread einthreadobj = new Thread ( new MyRunClass(...) ); java.lang.thread java.lang.runnable run():void <<realize>> MyRunnableClass 3. Thread-Objekt starten run():void einthreadobj.start(); Seite 43 Th Letschert

44 Threads Threads und Protokollimplementierung Threads und Nachrichten-Verabeitung iterativer Server: behandelt eine Nachricht nach der anderen nebenläufiger Server: behandelt mehrere Nachrichten gleichzeitig einfacher mit Threads zu realisieren Threads und Verbindungen Ein Thread für viele Verbindungen: möglich aber in Java (lange Zeit) komplex unüblich pro Verbindung ein Thread: üblich und einfach Threads und Sitzungen Wenn jede Sitzung einen zugeordneten Thread hat, dann kann dieser die Zustandsinformationen der Sitzung verwalten. Oft aber nicht immer ist jeder Sitzung eine Verbindung zugeordnet. Aber es kann Sitzungen ohne Verbindungen und Verbindungen ohne Sitzungen geben Seite 44 Th Letschert

45 Threads Threads und Protokollimplementierung neuer Client Connection-Handler Client C Client B Protocol/Session-Handler Client A Server Clients übliches Szenario der Implementierung es zustandsbehafteten Protokolls und / oder eines auf Verbindungen basierenden Protokolls mit Threads. Ein Thread behandelt eine Sitzung und/oder eine Verbindung. while (! finished ) { msg = handle.getmsg(); answer = preform service handle.send(answer) } do for ever { handle = accept new connection; thread = get SessionThread(handle); thread.start(handle); } Connection-Handler Session-Handler Seite 45 Th Letschert

46 Threads Threads und Protokollimplementierung Sitzungen Clients Server-Threads Verbindungen Übliches Szenario der Implementierung es zustandsbehafteten Protokolls (ein Protokoll also das Sitzungen erfordert ) auf Verbindungen. Ein Thread im Server behandelt eine Sitzung und eine Verbindung. Seite 46 Th Letschert

Transmission Control Protocol (TCP)

Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) Verbindungsorientiertes Protokoll, zuverlässig, paketvermittelt stream-orientiert bidirektional gehört zur Transportschicht, OSI-Layer 4 spezifiziert in RFC 793 Mobile

Mehr

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1)

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) 1 FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) In dieser Kurseinheit geht es um verteilte Anwendungen, bei denen wir sowohl ein Client- als auch ein

Mehr

Programmiermethodik. Übung 13

Programmiermethodik. Übung 13 Programmiermethodik Übung 13 Sommersemester 2010 Fachgebiet Software Engineering andreas.scharf@cs.uni-kassel.de Agenda Vorstellung Musterlösung HA9 Mancala Showroom Client/Server Kommunikation in Java

Mehr

Programmieren II. Timer. Vorlesung 11. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011. Timer. Sockets.

Programmieren II. Timer. Vorlesung 11. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011. Timer. Sockets. Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 26 Timer Sockets SMTP-Client 2 / 26 Timer Mit einem Timer können bestimmte Aktionen periodisch wiederkehrend durchgeführt

Mehr

1. Netzwerkprogrammierung für mobile Geräte

1. Netzwerkprogrammierung für mobile Geräte 1. Netzwerkprogrammierung für mobile Geräte Lernziele 1. Netzwerkprogrammierung für mobile Geräte Themen/Lernziele: Konzepte der verbindungslosen Kommunikation beherrschen Client/Server-Anwendungen auf

Mehr

Programmieren II. Sockets. Vorlesung 16. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2010. Sockets.

Programmieren II. Sockets. Vorlesung 16. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2010. Sockets. Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 19 2 / 19 Über einen Socket kann eine Anwendung die Implementierung des Netzwerkprotokolls des darunter liegenden Betriebssystems

Mehr

Referat: Netzwerkprogrammierung in Java

Referat: Netzwerkprogrammierung in Java 1.)ISO/OSI und Internet Referenzmodell Referat: Netzwerkprogrammierung in Java ISO/OSI 7 Schichtenmodell (1-Bitübertragung, 2-Sicherung, 3-Netzwerk, 4-Transport, 5-Sitzung, 6- Darstellung, 7-Anwendung)

Mehr

2 Verbindungslose Kommunikation mit UDP

2 Verbindungslose Kommunikation mit UDP 2 Verbindungslose Kommunikation mit UDP Das User Datagram Protocol (UDP) stellt grundlegende Funktionen zur Verfügung, um mit geringem Aufwand Daten zwischen kommunizierenden Prozessen austauschen zu können.

Mehr

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler - www.neo-one.de 13. Oktober 2008 Version 1.0.

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler - www.neo-one.de 13. Oktober 2008 Version 1.0. Konfigurationsanleitung Access Control Lists (ACL) Funkwerk Copyright Stefan Dahler - www.neo-one.de 13. Oktober 2008 Version 1.0 Seite - 1 - 1. Konfiguration der Access Listen 1.1 Einleitung Im Folgenden

Mehr

Verteilte Systeme - Java Networking (Sockets) -

Verteilte Systeme - Java Networking (Sockets) - Verteilte Systeme - Java Networking (Sockets) - Prof. Dr. Michael Cebulla 30. Oktober 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 36 M. Cebulla Verteilte Systeme Gliederung Grundlagen TCP/IP

Mehr

15 Transportschicht (Schicht 4)

15 Transportschicht (Schicht 4) Netzwerktechnik Aachen, den 16.06.03 Stephan Zielinski Dipl.Ing Elektrotechnik Horbacher Str. 116c 52072 Aachen Tel.: 0241 / 174173 zielinski@fh-aachen.de zielinski.isdrin.de 15 Transportschicht (Schicht

Mehr

CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik)

CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik) Prof. Dr. Th. Letschert CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik) Vorlesung 8 Th Letschert FH Gießen-Friedberg Nebenläufige und verteilte Programme Netzwerk-Programme

Mehr

Verteilte Systeme CS5001

Verteilte Systeme CS5001 Verteilte Systeme CS5001 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Client-Server-Anwendungen: Vom passiven (shared state) Monitor zum aktiven Monitor Monitor (Hoare, Brinch-Hansen,

Mehr

4. Thread- und Netzwerk- Programmierung

4. Thread- und Netzwerk- Programmierung 4. Thread- und Netzwerk- Programmierung 4.1 Ziel dieses Kapitels 4.2 Prozeß versus Thread 4.3 Thread-Programmierung 4.4 TCP/IP Grundlagen 4.5 TCP Programmierung 3. TCP/IP und Threads 3-1 4.1 Ziel dieses

Mehr

Verbindungen zu mehreren Clients. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 23: Netzwerkprogrammierung/ Kommunikation 2

Verbindungen zu mehreren Clients. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 23: Netzwerkprogrammierung/ Kommunikation 2 Universität Osnabrück 1 Verbindungen zu mehreren Clients 3 - Objektorientierte Programmierung in Java Vorlesung 23: Netzwerkprogrammierung/ Kommunikation 2 Wie könnte das bereits vorgestellte Programm

Mehr

Socket-Programmierung unter Java

Socket-Programmierung unter Java Socket-Programmierung unter Java 1 - Grundlagen: Datenströme Datenströme JAVA unterscheidet Streams und Reader/Writer Zur Dateneingabe: InputStream oder Reader Zur Datenausgabe: OutputStream oder Writer

Mehr

Anwendungshinweis Nr. 12. Wie konfiguriere ich redundante Serververbindungen

Anwendungshinweis Nr. 12. Wie konfiguriere ich redundante Serververbindungen Anwendungshinweis Nr. 12 Produkt: Schlüsselworte: Problem: Softing OPC Easy Connect OPC Server, Redundanz Wie konfiguriere ich redundante Lösung: Ausgangssituation: Eine OPC Client-Anwendung ist mit mehreren

Mehr

Rechnernetzwerke. Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können.

Rechnernetzwerke. Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können. Rechnernetzwerke Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können. Im Gegensatz zu klassischen Methoden des Datenaustauschs (Diskette,

Mehr

4. Network Interfaces Welches verwenden? 5. Anwendung : Laden einer einfachen Internetseite 6. Kapselung von Paketen

4. Network Interfaces Welches verwenden? 5. Anwendung : Laden einer einfachen Internetseite 6. Kapselung von Paketen Gliederung 1. Was ist Wireshark? 2. Wie arbeitet Wireshark? 3. User Interface 4. Network Interfaces Welches verwenden? 5. Anwendung : Laden einer einfachen Internetseite 6. Kapselung von Paketen 1 1. Was

Mehr

Netzwerkprogrammierung & Threads

Netzwerkprogrammierung & Threads & Threads Praktikum aus Softwareentwicklung 2 Netzwerp. - 1 & Threads URL, URLConnection, UDP, TCP Threads Parallele Programme, Synchronisation, Netzwerp. - 2 Grundlagen (1/2) Kommunikation zwischen verteilten

Mehr

Virtual Private Network

Virtual Private Network Virtual Private Network Allgemeines zu VPN-Verbindungen WLAN und VPN-TUNNEL Der VPN-Tunnel ist ein Programm, das eine sichere Verbindung zur Universität herstellt. Dabei übernimmt der eigene Rechner eine

Mehr

Jan Distel. Im Rahmen der Veranstaltung Fortgeschrittene Programmierung in Java

Jan Distel. Im Rahmen der Veranstaltung Fortgeschrittene Programmierung in Java Jan Distel Im Rahmen der Veranstaltung Fortgeschrittene Programmierung in Java Jan Distel - Diplomarbeitskolloquium 02.07.2010 1. Allgemeines 2. Datagram-Sockets 3. Sockets 4. Server-Sockets 5. Socket-Channels

Mehr

Anwendungsprotokolle: HTTP, POP, SMTP

Anwendungsprotokolle: HTTP, POP, SMTP Anwendungsprotokolle: HTTP, POP, SMTP TCP? UDP? Socket? eingesetzt, um Webseiten zu übertragen Zustandslos Nutzt TCP Client schickt Anfrage ( HTTP-Request ) an Server, Server schickt daraufhin Antwort

Mehr

Kapitel 4: Design von Client/Server-Software. Middleware in Java vieweg 2005 Steffen Heinzl, Markus Mathes

Kapitel 4: Design von Client/Server-Software. Middleware in Java vieweg 2005 Steffen Heinzl, Markus Mathes Kapitel 4: Design von Client/Server-Software Definition: Client und Server Client Ein Client ist ein Dienstnutzer, der von einem Server aktiv einen Dienst anfordert und anschließend darauf wartet, dass

Mehr

Client-Server mit Socket und API von Berkeley

Client-Server mit Socket und API von Berkeley Client-Server mit Socket und API von Berkeley L A TEX Projektbereich Deutsche Sprache Klasse 3F Schuljahr 2015/2016 Copyleft 3F Inhaltsverzeichnis 1 NETZWERKPROTOKOLLE 3 1.1 TCP/IP..................................................

Mehr

Stefan Dahler. 1. Remote ISDN Einwahl. 1.1 Einleitung

Stefan Dahler. 1. Remote ISDN Einwahl. 1.1 Einleitung 1. Remote ISDN Einwahl 1.1 Einleitung Im Folgenden wird die Konfiguration einer Dialup ISDN Verbindungen beschrieben. Sie wählen sich über ISDN von einem Windows Rechner aus in das Firmennetzwerk ein und

Mehr

Scharl 2010 Dokument ist Urheberrechtlich geschützt. Port Forwarding via PuTTY und SSH. Was ist Port forwarding?

Scharl 2010 Dokument ist Urheberrechtlich geschützt. Port Forwarding via PuTTY und SSH. Was ist Port forwarding? Port Forwarding via PuTTY und SSH Was ist Port forwarding? Eine Portweiterleitung (englisch Port Forwarding) ist die Weiterleitung einer Verbindung, die über ein Rechnernetz auf einen bestimmten Port eingeht,

Mehr

Software zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN)

Software zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN) Software zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN) Definition Was ist Talk2M? Talk2M ist eine kostenlose Software welche eine Verbindung zu Ihren Anlagen

Mehr

KN 20.04.2015. Das Internet

KN 20.04.2015. Das Internet Das Internet Internet = Weltweiter Verbund von Rechnernetzen Das " Netz der Netze " Prinzipien des Internet: Jeder Rechner kann Information bereitstellen. Client / Server Architektur: Server bietet Dienste

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

Mehr

Kontrollfragen: Internet

Kontrollfragen: Internet Kontrollfragen: Internet 1. Zählen Sie mindestens 5 Internet-Dienste auf. 2. Was ist eine virtuelle Verbindung? Vergleichen Sie eine virtuelle TCP/IP-Verbindung mit der Leitungsvermittlung (analoge Telefonverbindung).

Mehr

TCP und UDP Sockets in Java

TCP und UDP Sockets in Java TCP und UDP Sockets in Java Grundlegende Mechanismen Server reserviert Port: Klient: - Server: bind Server nimmt Verbindungswünsche an Klient: - Server: listen Klient möchte sich verbinden Klient: connect;

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

Java-Programmierung. Remote Method Invocation - RMI

Java-Programmierung. Remote Method Invocation - RMI Java-Programmierung Remote Method Invocation - RMI Entwicklungsmethoden Sockets Entwurf verteilter Anwendungen ist relativ aufwändig, da zunächst ein Kommunikationsprotokoll entwickelt werden muss aufwändig

Mehr

TCP/UDP. Transport Layer

TCP/UDP. Transport Layer TCP/UDP Transport Layer Lernziele 1. Wozu dient die Transportschicht? 2. Was passiert in der Transportschicht? 3. Was sind die wichtigsten Protkolle der Transportschicht? 4. Wofür wird TCP eingesetzt?

Mehr

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen

Mehr

Formular»Fragenkatalog BIM-Server«

Formular»Fragenkatalog BIM-Server« Formular»Fragenkatalog BIM-Server«Um Ihnen so schnell wie möglich zu helfen, benötigen wir Ihre Mithilfe. Nur Sie vor Ort kennen Ihr Problem, und Ihre Installationsumgebung. Bitte füllen Sie dieses Dokument

Mehr

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version 7.4.4. - Optional einen DHCP Server.

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version 7.4.4. - Optional einen DHCP Server. 1. Dynamic Host Configuration Protocol 1.1 Einleitung Im Folgenden wird die Konfiguration von DHCP beschrieben. Sie setzen den Bintec Router entweder als DHCP Server, DHCP Client oder als DHCP Relay Agent

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

Web Sockets mit HTML5. Quelle: www.html5rocks.com/de

Web Sockets mit HTML5. Quelle: www.html5rocks.com/de Web Sockets mit HTML5 Quelle: www.html5rocks.com/de Intensive Client-Server-Kommunikation: Beispiele Online-Spiele mit mehreren Mitspielern Chat-Anwendungen Live-Sport-Ticker Echtzeit-Aktualisierungen

Mehr

Security. Stefan Dahler. 4. Internet Verbindung. 4.1 Einleitung

Security. Stefan Dahler. 4. Internet Verbindung. 4.1 Einleitung 4. Internet Verbindung 4.1 Einleitung Im Folgenden wird die Konfiguration der DFL-800 Firewall gezeigt. Sie konfigurieren einen Internet Zugang zum Provider mit dem Protokoll PPPoE. In der Firewallrichtlinie

Mehr

TCP/IP Programmierung. C# TimeServer Java6 TimeClient

TCP/IP Programmierung. C# TimeServer Java6 TimeClient TCP/IP Programmierung C# TimeServer Java6 TimeClient Stand 19.10.11 21:24:32 Seite 1 von 16 Inhaltsverzeichnis Erläuterung...3 Software...3 C#TimeServer...4 Klasse ServerThread...6 Starten und Beenden...7

Mehr

Java und Netzwerkkommunikation

Java und Netzwerkkommunikation Java und Netzwerkkommunikation Ziel: Kommunikation über Rechnergrenzen hinweg Grundlagen Sockets in Java Java-Netzwerk-Einführung Seite 1 Grundbegriffe Senden und Empfangen von Daten! Frau B Herr A Sender

Mehr

Socket-Programmierung unter Java

Socket-Programmierung unter Java Datenströme -Programmierung unter Java 1 - Grundlagen: Datenströme JAVA unterscheidet Streams und Reader/Writer Zur Dateneingabe: InputStream oder Reader Zur Datenausgabe: OutputStream oder Writer Verwende

Mehr

IAC-BOX Netzwerkintegration. IAC-BOX Netzwerkintegration IACBOX.COM. Version 2.0.1 Deutsch 14.05.2014

IAC-BOX Netzwerkintegration. IAC-BOX Netzwerkintegration IACBOX.COM. Version 2.0.1 Deutsch 14.05.2014 IAC-BOX Netzwerkintegration Version 2.0.1 Deutsch 14.05.2014 In diesem HOWTO wird die grundlegende Netzwerk-Infrastruktur der IAC- BOX beschrieben. IAC-BOX Netzwerkintegration TITEL Inhaltsverzeichnis

Mehr

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert: Firewall für Lexware professional konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Windows XP SP2 und Windows 2003 Server SP1 Firewall...1 4. Bitdefender 9... 5 5. Norton Personal

Mehr

(Hinweis: Dieses ist eine Beispielanleitung anhand vom T-Sinus 154 Komfort, T-Sinus 154 DSL/DSL Basic (SE) ist identisch)

(Hinweis: Dieses ist eine Beispielanleitung anhand vom T-Sinus 154 Komfort, T-Sinus 154 DSL/DSL Basic (SE) ist identisch) T-Sinus 154 DSL/DSL Basic (SE)/Komfort Portweiterleitung (Hinweis: Dieses ist eine Beispielanleitung anhand vom T-Sinus 154 Komfort, T-Sinus 154 DSL/DSL Basic (SE) ist identisch) Wenn Sie auf Ihrem PC

Mehr

Anleitung zur Anmeldung mittels VPN

Anleitung zur Anmeldung mittels VPN We keep IT moving Anleitung zur Anmeldung mittels VPN Version 4.2 Datum: 30.06.2011 WienIT EDV Dienstleistungsgesellschaft mbh & Co KG Thomas-Klestil-Platz 6 A-1030 Wien Telefon: +43 (0)1 904 05-0 Fax:

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

DNÜ-Tutorium HS Niederrhein, WS 2014/2015. Probeklausur

DNÜ-Tutorium HS Niederrhein, WS 2014/2015. Probeklausur Probeklausur Diese Probeklausur ist auf eine Bearbeitungsdauer von 90 Minuten (= 90 maximal erreichbare Punkte) angelegt. Beachten Sie, dass die echte Klausur 120 Minuten dauern wird und entsprechend mehr

Mehr

Network Communication. Dr. Jürgen Eckerle WS 06/07

Network Communication. Dr. Jürgen Eckerle WS 06/07 Network Communication Dr. Jürgen Eckerle WS 06/07 1 Thread-Programmierung ist wichtig um Nebenläufigkeit bei der Netzwerkprogrammierung zu realisieren Typisches Muster beim Server: Server-Handler. Der

Mehr

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014) Anleitung Ein einfaches RMI-Beispiel (ab Java.0) c Y. Pfeifer (Juni 014) 1 Ein einfaches RMI-Beispiel Vorgehensweise: 1. Java Projekt anlegen. Zwei Packages server & client erstellen Auf der Server-Seite

Mehr

MSXFORUM - Exchange Server 2003 > Konfiguration NNTP unter Exchange 2003

MSXFORUM - Exchange Server 2003 > Konfiguration NNTP unter Exchange 2003 Page 1 of 11 Konfiguration NNTP unter Exchange 2003 Kategorie : Exchange Server 2003 Veröffentlicht von webmaster am 14.03.2005 Das Network News Transfer Protocol (NNTP) wird durch die Request for Comments

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

How-to: Webserver NAT. Securepoint Security System Version 2007nx

How-to: Webserver NAT. Securepoint Security System Version 2007nx Securepoint Security System Inhaltsverzeichnis Webserver NAT... 3 1 Konfiguration einer Webserver NAT... 4 1.1 Einrichten von Netzwerkobjekten... 4 1.2 Erstellen von Firewall-Regeln... 6 Seite 2 Webserver

Mehr

PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker

PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker Netzwerkprogrammierung PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker Steffen Helke, Marcus Mews Technische Universität Berlin Fachgebiet Softwaretechnik 17. Juni 2013 Übersicht Grundlagen

Mehr

Anbindung des eibport an das Internet

Anbindung des eibport an das Internet Anbindung des eibport an das Internet Ein eibport wird mit einem lokalen Router mit dem Internet verbunden. Um den eibport über diesen Router zu erreichen, muss die externe IP-Adresse des Routers bekannt

Mehr

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6 Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in

Mehr

Anleitung Grundsetup C3 Mail & SMS Gateway V02-0314

Anleitung Grundsetup C3 Mail & SMS Gateway V02-0314 Anleitung Grundsetup C3 Mail & SMS Gateway V02-0314 Kontakt & Support Brielgasse 27. A-6900 Bregenz. TEL +43 (5574) 61040-0. MAIL info@c3online.at loxone.c3online.at Liebe Kundin, lieber Kunde Sie haben

Mehr

Connectivity Everywhere

Connectivity Everywhere Connectivity Everywhere Ich bin im Netz, aber wie komme ich sicher nach hause? Tricks fuer mobile Internet Nutzer Überblick Sicherheitsprobleme beim mobilen IP-Nutzer Konventionelle Loesung: IP-Tunnel

Mehr

Anleitung zur Anmeldung mittels VPN

Anleitung zur Anmeldung mittels VPN We keep IT moving Anleitung zur Anmeldung mittels VPN Version 4.3 Datum: 04.04.2014 WienIT EDV Dienstleistungsgesellschaft mbh & Co KG Thomas-Klestil-Platz 6 A-1030 Wien Telefon: +43 (0)1 904 05-0 Fax:

Mehr

Um DynDNS zu konfigurieren, muss ausschließlich folgendes Menü konfiguriert werden:

Um DynDNS zu konfigurieren, muss ausschließlich folgendes Menü konfiguriert werden: 1. Konfiguration von DynDNS 1.1 Einleitung Im Folgenden wird die Konfiguration von DynDNS beschrieben. Sie erstellen einen Eintrag für den DynDNS Provider no-ip und konfigurieren Ihren DynDNS Namen bintec.no-ip.com.

Mehr

Konfigurationsanleitung Tobit David Fax Server mit Remote CAPI Graphical User Interface (GUI) Seite - 1 -

Konfigurationsanleitung Tobit David Fax Server mit Remote CAPI Graphical User Interface (GUI) Seite - 1 - Konfigurationsanleitung Tobit David Fax Server mit Remote CAPI Graphical User Interface (GUI) Copyright Stefan Dahler 22. Oktober 2013 Version 1.0 www.neo-one.de Seite - 1 - 5. Tobit David Fax Server mit

Mehr

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: 7. Intrusion Prevention System 7.1 Einleitung Sie konfigurieren das Intrusion Prevention System um das Netzwerk vor Angriffen zu schützen. Grundsätzlich soll nicht jeder TFTP Datenverkehr blockiert werden,

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005 Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der

Mehr

C.M.I. Control and Monitoring Interface. Zusatzanleitung: Datentransfer mit CAN over Ethernet (COE) Version 1.08

C.M.I. Control and Monitoring Interface. Zusatzanleitung: Datentransfer mit CAN over Ethernet (COE) Version 1.08 C.M.I. Version 1.08 Control and Monitoring Interface Zusatzanleitung: Datentransfer mit CAN over Ethernet (COE) de LAN LAN Beschreibung der Datentransfermethode Mit dieser Methode ist es möglich, analoge

Mehr

Einführung in die Netzwerktechnik

Einführung in die Netzwerktechnik Ich Falk Schönfeld Seit 8 Jahren bei eurogard GmbH Entwickler für Remoteserviceprodukte Kernkompetenz Linux Mail: schoenfeld@eurogard.de Telefon: +49/2407/9516-15 Ablauf: Was bedeutet Netzwerktechnik?

Mehr

E-Mail Adressen der BA Leipzig

E-Mail Adressen der BA Leipzig E-Mail Adressen der BA Jeder Student der BA bekommt mit Beginn des Studiums eine E-Mail Adresse zugeteilt. Diese wird zur internen Kommunikation im Kurs, von der Akademie und deren Dozenten zur Verteilung

Mehr

Anleitung C3 IP Tools V02-0914. loxone.c3online.at. Kontakt & Support. Brielgasse 27. A-6900 Bregenz. TEL +43 (5574) 61040-0. MAIL info@c3online.

Anleitung C3 IP Tools V02-0914. loxone.c3online.at. Kontakt & Support. Brielgasse 27. A-6900 Bregenz. TEL +43 (5574) 61040-0. MAIL info@c3online. Anleitung C3 IP Tools V02-0914 Kontakt & Support Brielgasse 27. A-6900 Bregenz. TEL +43 (5574) 61040-0. MAIL info@c3online.at loxone.c3online.at Liebe Kundin, lieber Kunde Sie haben mit den C3 IP Tools

Mehr

1 Mit einem Convision Videoserver über DSL oder ISDN Router ins Internet

1 Mit einem Convision Videoserver über DSL oder ISDN Router ins Internet 1 Mit einem Convision Videoserver über DSL oder ISDN Router ins Internet Diese Anleitung zeigt wie mit einem Draytek Vigor 2600x Router eine Convision V600 über DSL oder ISDN über Internet zugreifbar wird.

Mehr

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele: 2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Configuring Terminal Services o Configure Windows Server 2008 Terminal Services RemoteApp (TS RemoteApp) o Configure Terminal Services Gateway

Mehr

Sie müssen sich für diesen Fall mit IHREM Rechner (also zeitgut jk o.ä.) verbinden, nicht mit dem Terminalserver.

Sie müssen sich für diesen Fall mit IHREM Rechner (also zeitgut jk o.ä.) verbinden, nicht mit dem Terminalserver. Sie müssen sich für diesen Fall mit IHREM Rechner (also zeitgut jk o.ä.) verbinden, nicht mit dem Terminalserver. Am 15.08.2015 um 21:03 schrieb Jürgen Kleindienst : bei einer Terminalsitzung steht mir

Mehr

Themen. Web Service - Clients. Kommunikation zw. Web Services

Themen. Web Service - Clients. Kommunikation zw. Web Services Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur

Mehr

5.2 Neue Projekte erstellen

5.2 Neue Projekte erstellen 5.2 Neue Projekte erstellen Das Bearbeiten von bestehenden Projekten und Objekten ist ja nicht schlecht wie aber können Sie neue Objekte hinzufügen oder gar völlig neue Projekte erstellen? Die Antwort

Mehr

Voraussetzungen für die Nutzung der Format Rechenzentrumslösung (Hosting)

Voraussetzungen für die Nutzung der Format Rechenzentrumslösung (Hosting) Voraussetzungen für die Nutzung der Format Rechenzentrumslösung (Hosting) Firma: Seite 1 von 6 1 Ansprechpartner 1.1 Ansprechpartner EDV: Name: Name: Tel: Tel: E-Mail: E-Mail: 1.2 Ansprechpartner fachlich

Mehr

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

2.3 Applikationen. Protokolle: TCP/IP. Telnet, FTP, Rlogin. Carsten Köhn

2.3 Applikationen. Protokolle: TCP/IP. Telnet, FTP, Rlogin. Carsten Köhn 2.3 Applikationen Telnet, FTP, Rlogin Carsten Köhn Protokolle: TCP/IP Application umfasst Dienste, die als Prozesse des Betriebssystems ausgeführt werden SMTP, FTP, HTTP, MIME Transport regelt die Kommunikation

Mehr

Einführung in IP, ARP, Routing. Wap WS02/03 Ploner, Zaunbauer

Einführung in IP, ARP, Routing. Wap WS02/03 Ploner, Zaunbauer Einführung in IP, ARP, Routing Wap WS02/03 Ploner, Zaunbauer - 1 - Netzwerkkomponenten o Layer 3 o Router o Layer 2 o Bridge, Switch o Layer1 o Repeater o Hub - 2 - Layer 3 Adressierung Anforderungen o

Mehr

Kommunikations-Parameter

Kommunikations-Parameter KNX App knxpresso für Android Tablets/Phones Kommunikations-Parameter Ausgabe Dokumentation: Mai. 2015 Doku Version V1.0.0 - Seite 1/8 Inhaltsverzeichnis 1.1 Nützliche Links... 3 1.2 Beschreibung der Kommunikations-Datei...

Mehr

Lizenzen auschecken. Was ist zu tun?

Lizenzen auschecken. Was ist zu tun? Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.

Mehr

Switching. Übung 7 Spanning Tree. 7.1 Szenario

Switching. Übung 7 Spanning Tree. 7.1 Szenario Übung 7 Spanning Tree 7.1 Szenario In der folgenden Übung konfigurieren Sie Spanning Tree. An jeweils einem Switch schließen Sie Ihre Rechner über Port 24 an. Beide Switche sind direkt über 2 Patchkabel

Mehr

Distributed Computing Group

Distributed Computing Group JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird

Mehr

Erklärung zum Internet-Bestellschein

Erklärung zum Internet-Bestellschein Erklärung zum Internet-Bestellschein Herzlich Willkommen bei Modellbahnbau Reinhardt. Auf den nächsten Seiten wird Ihnen mit hilfreichen Bildern erklärt, wie Sie den Internet-Bestellschein ausfüllen und

Mehr

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003 Page 1 of 8 SMTP Konfiguration von Exchange 2003 Kategorie : Exchange Server 2003 Veröffentlicht von webmaster am 25.02.2005 SMTP steht für Simple Mail Transport Protocol, welches ein Protokoll ist, womit

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Anleitung zur Nutzung des SharePort Utility

Anleitung zur Nutzung des SharePort Utility Anleitung zur Nutzung des SharePort Utility Um die am USB Port des Routers angeschlossenen Geräte wie Drucker, Speicherstick oder Festplatte am Rechner zu nutzen, muss das SharePort Utility auf jedem Rechner

Mehr

EDI Connect goes BusinessContact V2.1

EDI Connect goes BusinessContact V2.1 EDI Connect goes BusinessContact V2.1 Allgemeine Informationen Ziel dieser Konfiguration ist die Kommunikation von EDI Connect mit dem neuen BusinessContact V2.1 Service herzustellen Dazu sind im wesentlichen

Mehr

Verteilte Systeme - 1. Übung

Verteilte Systeme - 1. Übung Verteilte Systeme - 1. Übung Dr. Jens Brandt Sommersemester 2011 1. Rechnerverbünde Kommunikationsverbund: Beispiele: E-Mail (SMTP, POP/IMAP), Instant Messaging (XMPP, IRC, ICQ,...), Newsgroups (NNTP)

Mehr

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000 Folgende Anleitung beschreibt, wie Sie ein bestehendes Postfach in Outlook Express, bzw. Microsoft Outlook bis Version 2000 einrichten können. 1. Öffnen Sie im Menü die Punkte Extras und anschließend Konten

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse Übung 03: Schleifen Abgabetermin: xx.xx.xxxx Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 03.1 12

Mehr

Bernd Blümel. Verschlüsselung. Prof. Dr. Blümel

Bernd Blümel. Verschlüsselung. Prof. Dr. Blümel Bernd Blümel 2001 Verschlüsselung Gliederung 1. Symetrische Verschlüsselung 2. Asymetrische Verschlüsselung 3. Hybride Verfahren 4. SSL 5. pgp Verschlüsselung 111101111100001110000111000011 1100110 111101111100001110000111000011

Mehr

RARP, BOOTP, DHCP Wie ermittelt ein Client seine IP-Adresse?

RARP, BOOTP, DHCP Wie ermittelt ein Client seine IP-Adresse? RARP, BOOTP, DHCP Wie ermittelt ein Client seine IP-Adresse? Holger Jakobs, bibjah@bg.bib.de Bildungszentrum b.i.b. e. V. RCSfile: dhcp.tex,v Revision: 1.2 p. 1 RARP Was heißt RARP? Reverse Address Resolution

Mehr

Hilfestellung. ALL500VDSL2 Rev.B & ALL02400N. Zugriff aus dem Internet / Portweiterleitung / Fernwartung. Router. Endgeräte. lokales.

Hilfestellung. ALL500VDSL2 Rev.B & ALL02400N. Zugriff aus dem Internet / Portweiterleitung / Fernwartung. Router. Endgeräte. lokales. ALL500VDSL2 Rev.B & ALL02400N Zugriff aus dem Internet / Portweiterleitung / Fernwartung LAN WAN WWW Router Endgeräte lokales Netzwerkgerät Hilfestellung Im Folgenden wird hier Schritt für Schritt erklärt

Mehr

Automatisches Beantworten von E-Mail- Nachrichten mit einem Exchange Server-Konto

Automatisches Beantworten von E-Mail- Nachrichten mit einem Exchange Server-Konto Automatisches Beantworten von E-Mail- Nachrichten mit einem Exchange Server-Konto Sie können Microsoft Outlook 2010 / Outlook Web App so einrichten, dass Personen, die Ihnen eine E- Mail-Nachricht gesendet

Mehr