Winsock Code Beispiele

Hier befinden sich Code Beispiele die mit Winsock Programmierung unter C++ zu tun haben.
Dieser Code ist teilweise schon 20 Jahre alt und lässt sich unter umständen nur mit anpassungen kompilieren.
Für die Richtigkeit des Inhalts, die Eignung des Codes für einen bestimmten Zweck oder für eventuelle
Schäden die durch die Verwendung entstehen könnten übernehme ich keine Haftung.



Beschreibung Autor
selectchatsrv.cpp und selectchatclient.cpp: Zwei kleine Demos, ein Chat Server und ein Chat Client. Beide verwenden select() um das blockierende verhalten der blocking-calls zu umgehen. Der Server zeigt wie man mit select() mehrere Clients handeln und Verbindungen annehmen kann, ohne mehrere Threads zu verwenden. Bitte beachtet das man im Client den eingegebenen Text erst sieht wenn man ihn mit Return abschickt. Die Files sind kommentiert in Deutsch und English.   c-worker.ch
hostent.cpp: Ein kleines Programm welches zeigt wie man die HOSTENT struct ausliest. Man kann einen Hostname eingeben und es werden alle dazu gefundenen Informationen aufgelistet (inkl. allen Aliases und IP Adressen):
Enter Hostname: blub
Winsock started!
Hostname: blub
No aliases found.
Ip Address: 192.168.0.2
Ip Address: 10.10.10.10
Ip Address: 192.168.0.101
Press any key to exit!  
c-worker.ch
Ein whois Client welcher whois.nic.ch abfragt. So findet ihr heraus wem ein Domainname (.ch, .li) gehört und von wem er ihn hat.   c-worker.ch
Ping.cpp, ein Ping Programm. Es benutzt das ICMP Protokoll um einen Host zu "pingen". Interessant daran ist das ein SOCK_RAW verwendet werden muss, und sowohl der IP als auch der ICMP Header selber definiert werden müssen. Der Code ist mit umfangreichen Kommentaren versehen, welche das ICMP Protokoll etwas erklären.   c-worker.ch
SimpleSocketServer.cpp, ein sehr(!!) simples Programm.
Aber zum demonstieren wie man eine Verbindung mit Sockets annimmt, Daten sendet und empfängt ist es recht geeignet. So der Standart-Ablauf wie man eine Verbindung annimmt halt. Dieses Beispiel ist nur für eine Verbindung ausgelegt. Simpel halt...  
c-worker.ch
getpage.c: Zeigt die Antwort eins Webservers auf eine requestete URL an, oder lädt eine Website in eine Datei herunter. c-worker.ch