Witam, mam problem z wysłaniem prostego zapytania GET do serwera przy użyciu win socketów.
Oto mój kod:
uses
Windows, WinSock, dialogs;
var
wsa: WSAData;
ErrorCode: Integer;
klient: Integer;
socket_adres: sockaddr_in;
zapytanie: String;
wyslano: Integer;
begin
ErrorCode:=WSAStartup(MakeWord(2, 0), wsa);
if (ErrorCode = SOCKET_ERROR) then ShowMessage('WSAStartup failed');
klient:= socket(AF_INET, SOCK_STREAM, 0);
if (klient = INVALID_SOCKET) then ShowMessage('socket() failed');
socket_adres.sin_family:= AF_INET;
socket_adres.sin_addr.S_addr:= inet_addr('74.125.43.103'); //google.pl
socket_adres.sin_port:= htons(80);
ErrorCode:= connect(klient, socket_adres, SizeOf(socket_adres));
if (ErrorCode = SOCKET_ERROR) then ShowMessage('connect() failed');
ErrorCode:= WSAAsyncSelect(klient, 0, WM_USER, FD_READ or FD_CONNECT or FD_ACCEPT);
if (ErrorCode <> 0) then ShowMessage('WSAAsyncSelect() failed');
zapytanie:=
'GET /index.html HTTP/1.1' + #13#10 +
'Host: google.pl' + #13#10;
wyslano:= send(klient, zapytanie, Length(zapytanie), 0);
if (wyslano < 0) then ShowMessage('Nie wysłano...');
end;
Wyrzuca mi ShowMessage('WSAAsyncSelect() failed') :-(
Bardzo proszę o korektę kodu / poradę :-)