Главная страница
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.47 MB
Время: 0.013 c
15-1202123739
AlexKniga
2008-02-04 14:15
2008.03.16
Ищу игруху, где нужно узлы двигать, чтоб связи не пересекались.


2-1203442763
ввв
2008-02-19 20:39
2008.03.16
Отрисовка в TComboBox


2-1203406677
webpauk
2008-02-19 10:37
2008.03.16
TopLeft ClientRect


15-1202345538
Dmitry S
2008-02-07 03:52
2008.03.16
Компоненты для работы с MySQL


15-1202266248
Slider007
2008-02-06 05:50
2008.03.16
С днем рождения ! 6 февраля 2008 среда