Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.16;
Скачать: CL | DM;

Вниз

winsock   Найти похожие ветки 

 
Res   (2008-02-15 22:35) [0]

Подскажите пожалуйста, что не так в моей куске кода. Понял 1, проблема в recv

var
s:TSocket;
Data:TWSAData;
Addr:TSockAddr;
str,st:string;
begin
WSAStartup($101, data); // èíèöèàëèçèðóå&# 236; wsa
s:=socket(AF_INET, SOCK_STREAM,IPPROTO_TCP);
Addr.sin_family:=AF_Inet;
Addr.sin_port:=htons(80);
Addr.sin_addr.S_addr:=inet_addr("213.180.204.8");
Connect(S,Addr,SizeOf(TSockAddr));
str:="GET / HTTP/1.1"+#13#10+"nHost: "+"ya/ru"+#13#10+"Connection: Close"+#13#10#13#10;
send(s, str, length(str),0);
Recv(s, st, 1023, 0);
closesocket( s ); // çàêðûâàåì ñîêåò
WSACleanup(); // äåèíèöèàëèçèð&# 243;åì wsa

end;


 
Res   (2008-02-15 22:38) [1]

ya/ru, это ya.ru :) Просто был другой сайт


 
Джо ©   (2008-02-15 23:17) [2]

str:="GET / HTTP/1.1"+#13#10+"nHost: "+"ya.ru"+#13#10+"Connection: Close"+#13#10#13#10;
 send(s, str[1], length(str),0);
 SetLength (st,1023);
 Recv(s, st[1], Length(st), 0);


 
Джо ©   (2008-02-15 23:22) [3]

Ну и прием лучше порциями, то есть, примерно так:
var
 st:string;
 Buff: array [0..1023] of Char;
 Recived: Integer;
...
 St := "";
 Recived := -1;
 while Recived <> 0 do
 begin
   Recived := Recv(s, Buff, Length(Buff), 0);
   St := St + Copy (Buff,0,Recived);
 end;
 


 
easy ©   (2008-02-15 23:35) [4]

хароший пример работы с сокетами лежит тут -
http://elite-mythology.sourceforge.net/TAKChat/


 
Res   (2008-02-16 12:23) [5]

Непашет, незнаю почему, St всегда равно "" :(


 
Джо ©   (2008-02-16 18:35) [6]

> [5] Res   (16.02.08 12:23)
> Непашет, незнаю почему, St всегда равно "" :(

Вышеприведенный мною код работает.
И это, у тебя там ошибка в команде GET, «nHost» вместо «Host». Впрочем, это не важно, St все-равно не будет пустым.



Страницы: 1 вся ветка

Текущий архив: 2008.03.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
4-1184719046
Cj
2007-07-18 04:37
2008.03.16
CommandLine...in ReadProcessMemory???


15-1202123739
AlexKniga
2008-02-04 14:15
2008.03.16
Ищу игруху, где нужно узлы двигать, чтоб связи не пересекались.


15-1202286617
den303
2008-02-06 11:30
2008.03.16
Почему закрываются интересные темы?


6-1182355727
FireMan_Alexey
2007-06-20 20:08
2008.03.16
Вопрос по отслеживанию подключений


3-1193210453
CruiserD
2007-10-24 11:20
2008.03.16
Ошибка при подключении к БД