Netzwerk-Socket
Ein Netzwerk-Socket ist ein Endpunkt in einem Kommunikationsfluss zwischen zwei Programmen, die über ein Netzwerk laufen.
Sockets werden mit einer Reihe von Programmieranforderungen oder Funktionsaufrufen erstellt und verwendet, die manchmal als Socket-API (Application Programming Interface) bezeichnet werden. Die gebräuchlichste Socket-API ist die Berkeley UNIX-C-Schnittstelle für Sockets. Sockets können auch für die Kommunikation zwischen Prozessen innerhalb desselben Computers verwendet werden.
Nachfolgend sehen Sie eine typische Abfolge von Socket-Anfragen einer Serveranwendung im verbindungslosen Kontext des Internets. Ein Server bearbeitet hier viele Clientanfragen und hält die Verbindung nur so lange aufrecht, bis die unmittelbare Anfrage bedient wird:
Socket()
|
bind()
|
recvfrom()
|
(Warten auf eine Sendto-Anfrage von einem Client)
|
(Bearbeitung der Sendtoanforderung)
|
sendto (als Antwort auf die Anfrage des Clients....z.B. Senden einer HTML-Datei)
Eine entsprechende Client-Sequenz von Socket-Anfragen wäre:
Socket()
|
bind()
|
sendto()
|
recvfrom()
Sockets lassen sich auch für verbindungsorientierte Transaktionen mit einer etwas anderen Abfolge von Systemaufrufen oder Funktionen der C-Sprache verwenden.
Secure Sockets Layer (SSL) ist ein Netzwerkprotokoll, das die Serverauthentifizierung, die Clientauthentifizierung sowie die verschlüsselte Kommunikation zwischen Servern und Clients verwaltet.