Ohne dein Beispiel selbst testen zu können, ist mir Folgendes aufgefallen:
1. Das shutdown des Sendeteils des Sockets erscheint mir hier unnötig. Vielleicht sogar kontraproduktiv oder fehlerverursachend, aber soweit bin ich aus der MSDN gerade nicht schlau geworden.
2. Würdest du Daten empfangen können, wirst du einen Buffer-Overflow verursachen. dein recbuf ist nämlich genau 1 byte lang, du liest aber bis zu 512.
Sieht mir aber nach nem Flüchtigkeitsfehler aus, der dir auch relativ schnell aufgefallen wäre ;)
3. Dein HTTP-Request ist nicht korrekt. Bedenke, dass
send selbst die Daten roh überträgt, also keine Steuerzeichen einfügt.
Da wird dieser Requeststring gesendet:
GET HTTP/1.1Host: www.google.comAccept: */*Connection: close
D.h. es fehlen die Zeilenterminatoren, nämlich \r\n, sowie die leere Zeile am Ende des Requests.
Also müsste dein Request folgendermaßen aussehen:
GET HTTP/1.1\r\nHost: www.google.com\r\nAccept: */*\r\nConnection: close\r\n\r\n
Ansonsten sieht mir der Code auf den ersten Blick richtig aus.
Ele