Was ist Socket-Programmierung?
Socket-Programmierung ist ein Programmierschema, bei dem Sockets verwendet und manipuliert werden, um eine Verbindung zwischen Software herzustellen. Sockets werden verwendet, um Software entweder zwischen verschiedenen Computern oder innerhalb desselben Computers zu verbinden, damit die Programme Daten gemeinsam nutzen können. Die Socket-Programmierung wird mit Instant Messaging, Internetbrowsern, Filesharing-Programmen und allem, was den Computer zwingt, eine Verbindung zu einem System herzustellen, verwendet. Die meisten Sockets werden automatisch programmiert, aber einige Betriebssysteme legen diese Verantwortung in die Hände des Benutzers.
Bei der Socket-Programmierung wird eine Liste von Befehlen verwendet, um einen Socket von einem Computer zu einem anderen zu verbinden. Damit ein Instant Messenger-Programm beispielsweise funktioniert, muss es eine Verbindung zu einem zweiten Computer herstellen. Um diese Verbindung herzustellen, wird eine Steckdose verwendet. Durch das Herstellen der Verbindung können die beiden Computer jetzt miteinander verbunden werden und miteinander sprechen.
Peer-to-Peer-Programme (P2P) sind Sonderfälle bei der Socket-Programmierung. Die meisten Programme fungieren entweder als Client oder als Server. Ein P2P-Programm fungiert als beides. Daher können Benutzer Dateien von einer Person herunterladen, während gleichzeitig Dateien vom Benutzer heruntergeladen werden.
Während die meisten Socket-Programme verwendet werden, damit zwei Computer interagieren können, ist dies auch für zwei Programme auf demselben Computer nützlich. Dies wird als Interprocessing bezeichnet und ermöglicht es einem Programm, Informationen aus einem anderen Programm zu übernehmen und zu verwenden. Wenn beispielsweise ein Programm ein Diashow-Ersteller ist und Informationen von einem Videoprogramm benötigt, um Videos in der Folie abzuspielen, wird eine Buchse zum Verbinden der Diashow- und Videoprogramme hergestellt. Interprocessing ist üblich, jedoch nicht so häufig wie die Verwendung von Sockets zwischen zwei Computern.
Bei der Verwendung der Socket-Programmierung müssen Programmierer und Benutzer beachten, dass Sockets bidirektional sind. Dies bedeutet, dass beide Computer miteinander sprechen und gleichzeitig Daten voneinander abrufen können. Das Öffnen eines Computers für ein anderes System kann gefährlich sein, da die andere Seite einen Angriff starten kann, wenn der Benutzer böswillig ist. Dies ist jedoch selten und das Anschließen eines Sockets an ein anderes System ist normalerweise sicher.
Sockets werden normalerweise automatisch unter dem Betriebssystem oder mit eingeschränkter Programmierung erstellt. In Betriebssystemoberflächen, in denen die Befehlszeile häufig verwendet wird, muss der Benutzer die Sockets häufig manuell fälschen. Dies zwingt den Benutzer, einige grundlegende Socket-Programmierungen zu kennen, damit diese wichtigen Verbindungen hergestellt werden können. Wenn der Socket nicht erstellt wird, kann der Computer nicht mit anderen Systemen kommunizieren, was die Nützlichkeit des Computers einschränkt.