
08.11.2009, 17:07
|
|
Новичок
Регистрация: 07.11.2009
Сообщений: 6
Провел на форуме: 35005
Репутация:
0
|
|
Сообщение от wolmer
К примеру
Код:
t:TSocket;
send1:string;
send1buf:array [0..5000] of char;
recv1buf:array [0..5000] of char;
dsize:Word;
recvstr:string;
Код:
send1:='GET http://site.ru/'+#13#10+
'User-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.2.15 Version/10.00'+#13#10+
'Host: site.ru'+#13#10+
'Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1'+#13#10+
'Accept-Language: ru-RU,ru;q=0.9,en;q=0.8'+#13#10+
'Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1'+#13#10+
'Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0'+#13#10+
'Cookie: test=test1'+#13#10+
'Cookie2: $Version=1'+#13#10+
'Connection: Keep-Alive'+#13#10+#13#10;
CopyMemory(@send1buf,pchar(send1),length(send1));
send(t,send1buf,sizeof(send1buf),0);
//В случае если мы напишем recv(t, recv1buf, 4096, 0);
//То весь пакет не дойдет, поэтому мы связываемся с циклом
repeat
recv1buf:='';
dSize:=recv(t, recv1buf, 4096, 0);
recvstr:=recvstr+recv1buf;
until (dSize = 0) or (dSize = SOCKET_ERROR);
Дальше в recvstr будет пакет в виде html
(#13#10 - перенос строки)
(при коннекте сервер нам дает знать что мы подключились но он нам не посылает пакет, он нам посылает пакет когда мы ему послали пакет (т.е. сервер отвечает на наши пакеты))
(писал прямо здесь, так что особо не ругаться на ошибки)
У меня "особенный сервер)" игры Lineage.И при конекте к серверу он сразу же посылат пакет.. Конект и просмотр этого пакета через TCPClient у меня получаться а в вот через Winsock не получалось.. Я получал Длину пакета. Но взяв из вашего примера :
Код:
recv1buf:='';
recvstr:=recvstr+recv1buf;
Начал получать пакет целиком Спасибо=)
|
|
|