Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -

Ähnliche Präsentationen


Präsentation zum Thema: "Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -"—  Präsentation transkript:

1 Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Netzdienste 1 /* zeige Inhalt einer URL an */ import java.io.*; import java.net.*; public class Show_URLText { public static void main( String args[] ) { URL name; URLConnection quelle; if (args.length != 1) { System.out.println("Aufruf: java Show_URLText " ); System.exit(0); } else { try { name = new URL(args[0]); quelle = name.openConnection(); quelle.setUseCaches( false ); showText( quelle ); } catch (MalformedURLException e) { System.out.println("Protokoll der URL " + args[0] + " fehlerhaft"); } catch (IOException e) { System.out.println("Ein/Ausgabefehler"); }

2 Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Netzdienste 2 static void showText(URLConnection q) { BufferedReader in; String s; try { in = new BufferedReader ( new InputStreamReader( q.getInputStream() )); while( (s = in.readLine() )!= null ) System.out.println(s); } catch (IOException e) { System.out.println("Fehler :" + e + " in showText"); }

3 Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Netzdienste 3 /* sende ein UDP - Paket */ import java.io.*; import java.net.*; public class UDPSend { public static void main( String args[] ) { if (args.length != 3) { System.out.println( "Aufruf: java UDPSend " + " " ); System.exit( 0 ); } InetAddress iaddr; int port = Integer.parseInt(args[1]); try { DatagramSocket d_socket = new DatagramSocket(); iaddr = InetAddress.getByName(args[0]); byte[] data = new byte[args[2].length()]; data = args[2].getBytes(); DatagramPacket packet; packet = new DatagramPacket(data, data.length, iaddr, port); d_socket.send(packet); d_socket.close(); } catch (SocketException e) {System.out.println(e);} catch (UnknownHostException e){System.out.println(e);} catch (IOException e) {System.out.println(e);} }

4 Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Netzdienste 4 /* empfange 3 UDP Pakete */ import java.io.*; import java.net.*; public class UDPReceive { public static void main( String args[] ) { if (args.length != 1) { System.out.println("Aufruf: java UDPReceive "); System.exit(0); } int port = Integer.parseInt( args[0] ); byte[] buffer = new byte[1024]; DatagramPacket packet; DatagramSocket d_socket; packet = new DatagramPacket(buffer, buffer.length); try { d_socket = new DatagramSocket(port); for (int i = 0; i < 3; i++) { d_socket.receive(packet); String s = new String( buffer, 0, packet.getLength() ); System.out.println( "UDPReceive: from " + packet.getAddress().getHostName() + ":" + packet.getLength() + ":" + packet.getPort() + ":" + s ); packet.setLength(buffer.length); } d_socket.close(); } catch (SocketException e) {System.out.println(e);} catch (IOException e) {System.out.println(e);} }

5 Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Netzdienste 5 /* sende Nachricht ueber Socket zum TCP-Server und empfange von dort Antwort */ import java.io.*; import java.net.*; public class TCPClient { public static void main(String[] args) { if (args.length != 3) { System.out.println( "Aufruf: java TCPClient " + " " ); System.exit( 0 ); } try { Socket c_socket = new Socket( args[0], Integer.parseInt(args[1])); OutputStream to_server = c_socket.getOutputStream(); to_server.write(args[2].getBytes() ); BufferedReader from_server = new BufferedReader(new InputStreamReader(c_socket.getInputStream())); String antwort = from_server.readLine(); System.out.println("Der Server meldet: " + antwort); to_server.close(); from_server.close(); c_socket.close(); } catch (IOException e) { System.out.println("Kommunikationsfehler " + e.getMessage()); } }

6 Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Netzdienste 6 /* empfange Nachricht ueber Socket vom TCP-Client und sende dorthin Antwort */ import java.io.*; import java.net.*; public class TCPServer { public static void main(String[] args) { byte b[] = new byte[64]; String antwort = "Das ist die Antwort vom Server"; if (args.length != 1) { System.out.println( "Aufruf: java TCPServer " ); System.exit( 0 ); } try { ServerSocket s_server = new ServerSocket (Integer.parseInt(args[0])); Socket s_client = s_server.accept(); System.out.println("verbunden mit: " + s_client.getInetAddress().getHostName() + " Port: " + s_client.getPort() + " loacl Port: " + s_client.getLocalPort() ); BufferedInputStream from_client = new BufferedInputStream(s_client.getInputStream()); while (from_client.available() == 0) ; from_client.read(b); System.out.println("Message form client: " + new String(b)); OutputStream to_client = s_client.getOutputStream(); to_client.write(antwort.getBytes()); from_client.close(); to_client.close(); s_client.close(); s_server.close(); } catch (IOException e) { System.out.println("Fehler bei Kommunikation: " + e); } }

7 Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Netzdienste 7 /* empfange 3 Nachrichten ueber Socket vom TCP-Clients und sende jeweils eine Antwort */ /* die Verarbeitgung der Nachrichten erfolgt nebenläufig */ import java.io.*; import java.net.*; public class TCPMultiServer { public static void main(String[] args) { if (args.length != 1) { System.out.println( "Aufruf: java TCPMultiServer " ); System.exit( 0 ); } try { ServerSocket s_server = new ServerSocket (Integer.parseInt(args[0])); for(int anz = 0; anz < 3; anz++) { Socket s_client = s_server.accept(); new ServerThread(s_client, anz).start(); } s_server.close(); } catch (IOException e) { System.out.println("Fehler bei Kommunikation: " + e); }

8 Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java - Netzdienste 8 class ServerThread extends Thread { Socket s_client; public ServerThread( Socket client, int nummer) { s_client = client; System.out.println("ServerThread " + nummer + " verbunden mit: " + s_client.getInetAddress().getHostName() + " Port: " + s_client.getPort() ); } public void run() { int size; byte b[] = new byte[64]; String antwort = "Serverantwort: *"; try { BufferedInputStream from_client = new BufferedInputStream(s_client.getInputStream()); while ((size = from_client.available()) == 0) ; from_client.read(b); System.out.println("Message form client: " + new String(b)); OutputStream to_client = s_client.getOutputStream(); if (size <= b.length) for(int i = 0; i < size; i++) { sleep(300); antwort += ((char)b[i] + "*"); } to_client.write(antwort.getBytes()); from_client.close(); to_client.close(); s_client.close(); } catch (Exception e) { e.printStackTrace(); } }


Herunterladen ppt "Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -"

Ähnliche Präsentationen


Google-Anzeigen