Home » Tutorials » Netzwerk und Internet » Sockets mit WinAPI

Sockets mit WinAPI

Programmbeispiele

Zum Schluss habe ich noch zwei schöne kleine Progrämmchen, welche alle oben beschriebenen Funktionen benutzen. Beide Programme funktionieren auf einem Computer genauso wie über ein Netzwerk.

SimpleSocket

Das Programm SimpleSocket kann je nachdem, was der Benutzer für Buttons betätigt in ein UDP-Socket, ein TCP-Client oder eben ein TCP-Server (welcher nur einen Clienten akzeptiert) eingestellt werden. Die in diesem Tutorial vorgestellten Funktionen werden adäquat durch Buttons (oder teilweise Checkboxen) umgesetzt und so kann die Funktion jedes Befehls getestet werden. Jede ausgeführte Funktion wird durch eine Messagebox angezeigt. Die Socketinformationen und –optionen werden im Programmfenster aufgelistet. Der Quellcode ist weitestgehend kommentiert.

PSocket

Mit PSocket kann man TCP-Clients oder TCP-Server in je einem Thread aus einem Programm heraus starten. Das Programm demonstriert, wie auch ein Server mehrere Clients bedienen kann. Einfach mal reinschauen. (Wobei die Einfacheit des Quellcodes etwas duch fehlende Kommentare und asynchrone Messages zwischen den Threads getrübt wird.)


Das Programm ist hier zu finden.

5 Gedanken zu „Sockets mit WinAPI“

  1. Wo findet sich denn der Link, um die Programmbeispiele herunterzuladen?
    Ich suche jetzt schon eine Weile, finde aber nichts.

  2. Eine weitere – aus meiner Sicht sehr wichtige – Antwort auf die Frage, warum man die Sockets selbst über die Windows API programmieren sollte, wäre noch:

    Ich hatte vor ca. 10 Jahren einen „Chat“ über die Komponenten von Delphi programmiert. Wir haben hier in der Firma einen Linux-Server zu stehen. Da die Leute das lustig fanden, ist der Chat heute fester Bestandteil. Linux bedeutet aber insoweit Probleme, weil ich das Programm emulieren lassen muss. Dafür würde sich theoretisch wine anbieten.
    Der Haken ist aber, dass die Komponenten alle fest in der VCL verankert sind und man mit wine nicht weit kommt. Man braucht also eine virtuelle Maschine mit Windows, um den Server laufen zu lassen. Insoweit erhoffe ich mir, dieses Problem eventuell lösen zu können. Wenn es mir gelingt, mit dieser Anleitung eine eigene Klasse ganz ohne jede VCL erstellen zu können, dann kann ich den Server als Konsolen-Programm erstellen und (endlich) ohne den ganzen Overhead unter wine laufen lassen.

    Falls den Seitenadmin dieser Kommentar stört, kann er ihn gern wieder gelöscht werden. Aber auf der Suche nach Sockets ohne VCL, wäre dies als Fund bei Suchmaschinen schon vor langer Zeit sehr hilfreich für mich gewesen. Suchmaschinen finden aber immer nur den Text, der auf den Seiten tatsächlich irgendwo steht und wenn man nach „nonvcl“ im Zusammenhang mit Sockets unter Delphi sucht, sieht es dünn aus mit den Suchergebnissen.

  3. Hallo, ich kann leider auch deine Programmbeispiele als Datei nicht finden. Sind die nicht mehr verlinkt?

    Ansonsten gutes Tutorial 🙂

Kommentare sind geschlossen.