zur Startseite zur Hauptnavigation zum Hauptinhalt zum Suchformular
MySign
Neuhardstrasse 38
4600 Olten, CH
+41 62 836 80 10,
info@mysign.ch

Serversocket und Socket

Definition:

  • ServerSocket: Ein Server-Socket wartet darauf, dass Anforderungen über das Netzwerk eingehen.
  • Socket: Ein Socket ist ein Endpunkt für die Kommunikation zwischen zwei Rechnern.
serverSocketDiagramm

Erstellen eines ServerSockets und Verbinden mit Socket:
Einen ServerSocket erstellt man wie folgt:

1   public static void main ( String[] args ) throws IOException
2   {
3       ServerSocket ss = new ServerSocket( 123 );
4       Socket socket = ss.accept();
5
6       ss.close();
7       socket.close();
8   }

Auf Zeile 3 instanziere ich einen neuen ServerSocket. Als Übergabeparameter gebe ich ihm den Port an, mit dem sich die Sockets verbinden können, falls es der Selbe ist.
Auf Zeile 4 instanziere ich einen neuen Socket und warte mit ss.accept(), dass sich ein Socket mit dem ServerSocket verbindet.

Erstellen eines Sockets:
Einen Socket kan man wie folgt erstellen: 

1    public static void main ( String[] args ) throws UnknownHostException, IOException
2    {
3        Socket client = new Socket( "192.168.13.47", 123 );
4
5        client.close();
6    }

Einen Socket zu instanzieren ist ganz einfach. Man kann einen Socket beispielsweise, wie man auf Zeile 3 sehen kann, nach angegebenem Schema instanzieren. Die Übergabeparameter währen in diesem Fall die IP Adresse von meinem eigenen PC und dem Port, mit dem sich der Socket verbinden soll. 

Wenn man nun zuerst den ServerSocket startet, ruft dieser accept() auf. Dieser wartet nun bis man den Socket startet. Sobald man den Socket startet, verbindet sich dieser mit dem ServerSocket, vorausgesetzt, man hat den gleichen Port angegeben. 

Fazit:
Ich habe bis jetzt noch nicht viel mit Sockets gearbeitet. Aber momentan bin ich an einer komplexeren Aufgabe, welche die Sockets als Inhalt aufweisen. Ich finde, dass ich noch ein wenig mit Server-Sockets und Client-Sockets üben muss, aber die Grundlagen habe ich ungefähr verstanden. Deswegen dachte ich mir, dass es sinnvoll ist, eine kleine Lerndoku darüber zu schreiben, wie man diese erstellt und wie sie sich verbinden können.