Kurzvortrag SocketsSockets:Sockets bilden die Kommunikationsgrundlage für alle Netzwerkprotokolle. Client und Server können über Sockets mit dem jeweiligen Gegenüber kommunizieren Server-Sockets sind Sockets, die auf dem Server eingerichtet sind. Sockets in Java:Im Package java.net werden bereits Klassen für die Arbeit mit Sockets zur Verfügung gestellt. In der Klasse ServerSocket findet man Methoden, um einen Server auf der Grundlage von Sockets zu schreiben. Wichtige Methoden sind:public Socket accept() durch den Aufruf dieser Methode erreicht man, dass der Server auf Aktivitäten von Clients wartet. Verbindet sich ein Client mit dem Server, so erzeugt accept() ein Socket-Objekt, das für die Übertragung in beide Richtungen mit dem Socket-Objekt (oder dem Äquivalent einer anderen Sprache) auf dem Client verbunden ist. public void close() trennt die Verbindung public void setSoTimeout() setzt die Zeit in Millisekunden fest, wie lange die Methodeaccept() auf eine Verbindung warten soll public int getSoTimeout() liefert die festgelegte Zeit Die Klasse Socket implementiert ein Socket zur netzwerkbasierten Kommunikation. Wichtige Methoden sind:public InetAddress getInetAddress() gibt die Adresse, aus mit der der Socket verbunden ist aus public int getPort() liefert den Port zur Adresse public InetAddress getLocalAddress() gibt die Adresse des eigenen Rechners aus public int getLocalPort() liefert den Port, den der Socket benutzt public java.io.InputStream getInputStream() throws java.io.IOException; liefert InputStream-Objekt, das wie gewöhnlich benutzt wird, um mit dem Server zu kommunizieren public java.io.OutputStream getOutputStream() throws java.io,IOException; analog zu getInputStream() public void close() trennt die Verbindung Beispielprogramm für einen Client:import java.io.*;import java.net.*; public class TestClient{ public static void main(String[] a){ try{ String hostname = "localhost"; int port = 1024; Socket s = new Socket(hostname, port); InputStream sin = s.getInputStream(); BufferedReader fromServer = new BufferedReader (new InputStreamReader(sin)); OutputStream sout = s.getOutputStream(); PrintWriter toServer = new PrintWriter (new OutputStreamWriter(sout)); String message = "Hallo"; toServer.println(st); } catch(Exception e){System.out.println(e);} } } von Janine Glahn von Marko Harasic |
||||||