Paketübertragung mit Sockets Was, wohin?

5
Paketübertragung mit Sockets Was, wohin? Adressierung durch java.net.InetAddress Bsp: adr=InetAddress.getByName(“localhost“); Pakete sind java.net.DatagramPacket – Konstruktoren: • DatagramPacket(byte[] buf,int len) ungerichtetes Paket, haupts. zur Aufnahme von Nachrichten • DatagramPacket(byte[] bf,int ln, InetAddres dst) Paket mit Zieladresse Interessante Selektoren/Modifikatoren • byte[] getData() liefert Paket-Inhalt • void setPort(int iport) setzt den Ziel-Port

description

Paketübertragung mit Sockets Was, wohin?. Adressierung durch java.net.InetAddress Bsp: adr=InetAddress.getByName(“localhost“); Pakete sind java.net.DatagramPacket Konstruktoren: DatagramPacket(byte[] buf,int len) ungerichtetes Paket, haupts. zur Aufnahme von Nachrichten - PowerPoint PPT Presentation

Transcript of Paketübertragung mit Sockets Was, wohin?

Page 1: Paketübertragung mit Sockets Was, wohin?

Paketübertragung mit SocketsWas, wohin?

• Adressierung durch java.net.InetAddressBsp: adr=InetAddress.getByName(“localhost“);

• Pakete sind java.net.DatagramPacket– Konstruktoren:

• DatagramPacket(byte[] buf,int len)ungerichtetes Paket, haupts. zur Aufnahme von Nachrichten

• DatagramPacket(byte[] bf,int ln, InetAddres dst)Paket mit Zieladresse

– Interessante Selektoren/Modifikatoren• byte[] getData() liefert Paket-Inhalt• void setPort(int iport) setzt den Ziel-Port

Page 2: Paketübertragung mit Sockets Was, wohin?

Übertragung mit DatagramSocket´s• Konstruktoren für java.net.DatagramSocket:

– DatagramSocket(int port)– DatagramSocket(int prt,InetAddress dst)

Pakete können nur nach dst geschickt werden.• Methoden:

– void send(DatagramPacket p)Abschicken von p (Ziel ist in p)

– void receive(DatagramPacket p)blockierendes Empfangen, Eintragen in p

• Pakete werden per UDP verschickt. keine Garantie bzgl. Ablieferung/Reihenfolge

Page 3: Paketübertragung mit Sockets Was, wohin?

Ein-/Ausgabe mit Strömen

• Abstrakte Basisklassen zur byteweisen I/O– java.io.InputStream – Java.io.OutputStream

• Komfortable IO durch ZusammenschaltenBsp: Schreiben von Objekten Filefos = new FileOutputStream(“Filename“);oos = new ObjectOutputStream(fos);oos.writeObject(some_object);

Page 4: Paketübertragung mit Sockets Was, wohin?

Datenübertragung per TCP über Sockets

• Konstruktor:– java.net.Socket(InetAddress dst, int prt)

Verbindungsaufbau zu Host dst auf Port prt– Socket(InetAddress dadr,int dprt, InetAddress ladr, int lprt)Verbindungsaufbau zu dadr:dprt von der lokalen Adresse ladr und dem lokalen Port lprt

• Senden und Empfangen:InputStream getInputStream()OutputStream getOutputStream()

Page 5: Paketübertragung mit Sockets Was, wohin?

Aufbau eines Servers mit ServerSockets

• Konstruktor:java.net.ServerSocket(int prt)Aktivierung eines Servers auf Port prt

• Idee:Für jeden neuen Klienten wird ein Socket generiert, und so gezielte IO ermöglicht.

• Socket accept()Blockiert, bis sich ein neuer Klient meldet und gibt einen entsprechenden Socket zurück.