Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Ortwin Eggebrecht Geändert vor über 11 Jahren
1
FH-Hof Sockets in Java Richard Göbel
2
FH-Hof Kommunikation über das Internet - Grundlagen Ein Rechner wird im Internet über die so genannte IP- Adresse angesprochen numerische Adresse: 194.95.60.123 symbolische Adresse: pid.da.op.dlr.de Ein Programm auf einem Rechner wird über die Nummer eines so genannten Ports angesprochen. Für die Kommunikation richtet ein Programm einen Socket (Steckdose) ein. Die Kommunikation über Sockets ist asymmetrisch: Ein Server wartet auf einen Client Ein Client baut eine Verbindung zu einem Server auf
3
FH-Hof Kommunikation über das Internet - Das Socket-Konzept Server ServerSocket erzeugen und auf Verbindung warten. Einen weiteren Socket für jeden Client erzeugen. Ein- und Ausgabestreams für den Socket öffnen. Je nach Bedarf lesen und schreiben. Streams schließen. Client Socket zur Verbindung mit dem Server erzeugen. Ein- und Ausgabestreams für den Socket öffnen. Je nach Bedarf lesen und schreiben. Streams schließen.
4
FH-Hof Kommunikation über das Internet - Beispiel für einen Server public class TestServer { public static void main(String[] args) throws IOException { ServerSocket seSocket = new ServerSocket(1704); Socket clSocket = seSocket.accept(); PrintStream out = null; BufferedReader in = null; out = new PrintStream(clSocket.getOutputStream()); in = new BufferedReader( new InputStreamReader( clSocket.getInputStream())); String inputLine = in.readLine(); System.out.println(inputLine); out.close(); in.close(); clSocket.close(); seSocket.close();}}
5
FH-Hof Kommunikation über das Internet - Beispiel für einen Client public class TestClient { public static void main(String[] args) throws IOException, UnknownHostException { Socket socket = new Socket(MyServer,1704); PrintWriter out; BufferedReader in; out = new PrintWriter(socket.getOutputStream()); in = new BufferedReader( new InputStreamReader( socket.getInputStream())); out.println("Hello World!"); out.flush(); out.close(); in.close(); socket.close();}}
6
FH-Hof Implementierung einer Testverbindung
7
FH-Hof Szenario für die Kommunikation Client 1Client 2Server 2,2 5,2 Das Ende des Spiels wird von jeder Komponente selbstständig erkannt!
8
FH-Hof Ablauf der Kommunikation aus der Sicht des Clients Hauptprogramm (Thread I)... wartet auf Eingabe des Benutzers übertragt Eingabe an Server wartet auf den Gegenzug MouseListener (Thread II)... liefert Eingabe des Benutzer
9
FH-Hof Ablauf in Java Hauptprogramm synchronized void doGame () {... = this;... wait();....writeInt(... );.flush();.writeInt(... );.flush();... } MouseListener... synchronized ( ) {....notify();... }
10
FH-Hof Client implementieren
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.