Winsock

Winsock oder Windows Sockets ist eine Windows-Programmierschnittstelle (API) zum Zugriff auf Rechnernetze über Sockets.

Winsock ergänzt Windows um die Internetprotokollfamilie und ist für die Verbindung des Computers mit dem Internet zuständig. Es wird von Programmen verwendet, um über das Internetprotokoll (IP) auf das Netzwerk zuzugreifen.[1] Das Betriebssystem stellt dafür diverse Funktionen in Programmbibliotheken bereit.[2] Moderne objektorientierte Programmiersprachen und Frameworks stellen in der Regel Klassen zur Verfügung, die den konkreten Zugriff auf die einzelnen Socket-Funktionen des Betriebssystems, u. a. auch im Hinblick auf Plattformunabhängigkeit, kapseln.[3]

Funktionsweise

Wenn ein Programm (z. B. ein Webbrowser) über das Netzwerk kommunizieren will (z. B. mit einem Webserver), gibt es die Anforderung an Winsock weiter, welches dann versucht, die Verbindung aufzubauen. Winsock meldet an das aufrufende Programm zurück, ob der Verbindungsaufbau gelungen oder fehlgeschlagen ist. Konnte eine Verbindung hergestellt werden, können mit weiteren Winsock-Funktionsaufrufen über diese Verbindung Daten über das Netzwerk ausgetauscht werden (z. B. einzelne Webseiten).[3]

Durch die Verwendung der Winsock-API ist es prinzipiell möglich, IP-benutzende Programme zu schreiben, die quellcodekompatibel zwischen Windows und POSIX-Betriebssystemen sind, wobei seit Winsock 2.0 auch andere Protokolle als die der Internetprotokollfamilie möglich sind, wie z. B. IrDA oder Bluetooth. In älteren Versionen des Betriebssystems Windows wurden u. a. auch die Protokolle IPX und AppleTalk nativ unterstützt.[4]

Die Kommunikation über Sockets kann via SSL/TLS verschlüsselt erfolgen.[5][6]

Geschichte

Winsock wurde 1992 von Microsoft entwickelt. Dazu wurden praktisch alle Funktionen von den Betriebssystemen Unix und BSD übernommen. Zuvor war man auf Implementationen von Drittanbietern angewiesen, wie z. B. der verbreiteten Shareware „Trumpet Winsock“ von Peter Tattam.[7]

Weblinks

  • Windows Sockets-Dokumentation von Microsoft
  • Winsock Tutorial. In: c-worker.ch. Archiviert vom Original am 12. Januar 2022;.

Einzelnachweise

  1. Steven White et al.: Windows Sockets 2. In: learn.microsoft.com. Microsoft, 7. Januar 2021, abgerufen am 29. September 2023 (englisch).
  2. Steven White et al.: Winsock functions. In: learn.microsoft.com. Microsoft, 7. Januar 2021, abgerufen am 29. September 2023 (englisch).
  3. a b William Johnston Buchanan: The Handbook of Data Communications and Networks. 2. Auflage. Band 1 & 2. Springer, New York 2013, ISBN 978-1-4757-1067-0, Socket Programming, S. 1073–1120, doi:10.1007/978-1-4020-7870-5 (englisch).
  4. Steven White et al.: Winsock Network Protocol Support in Windows. In: learn.microsoft.com. Microsoft, 7. Januar 2021, abgerufen am 29. September 2023 (englisch).
  5. Steven White et al.: Secure Winsock Programming. In: learn.microsoft.com. Microsoft, 7. Januar 2021, abgerufen am 29. September 2023 (englisch).
  6. Steven White et al.: Winsock Secure Socket Extensions. In: learn.microsoft.com. Microsoft, 7. Januar 2021, abgerufen am 29. September 2023 (englisch).
  7. Trumpet Winsock v5.0. In: tattsoft.com. Tattam Software Enterprises Pty. Ltd., abgerufen am 26. Januar 2010 (englisch).