Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Делаю Proxy для HTTP, но после нескольких соединений коннект ... [D5, WinXP]


a-leksey ©   (2002-12-25 17:19:00) 

Делаю Proxy для HTTP, но после нескольких соединений коннект просто затухает... Думаю, я не обратил внимания на какие-то спецефические особенности работы с сокетами... И они блоканулись, либо ждут чегото - чего никогда не будет... Может у кого побольше опыта? Помогите с советом... Да и отлаживать все на одном компе сложновато... Страница подгружается на процентов 80 и ... стоит.

ProxyClient = class(TClientSocket)
private
{ Private declarations }
public
{ Public declarations }
Server:TCustomWinSocket;
Zapros,Otvet:String;
procedure ProxyClientConnect(Sender: TObject;Socket: TCustomWinSocket);
procedure ProxyClientDisconnect(Sender: TObject;Socket: TCustomWinSocket);
procedure ProxyClientRead(Sender: TObject;Socket: TCustomWinSocket);
Constructor Create(lHost:string;lPort:Word;lServer:TCustomWinSocket);
Destructor Destroy;
end;


var
Form1: TForm1;
implementation

{$R *.DFM}

function GetHost(s:string):string;
var b:word;
temp:string;
begin
b:=pos("Host:",s);
if b>0 then
begin
b:=b+6;
while (s[b]<>Char(13))and(b<Length(s)) do
begin
temp:=temp+s[b];
inc(b);
end;
GetHost:=temp;
end else GetHost:="none";
end;

Constructor ProxyClient.Create(lHost:string;lPort:Word;lServer:TCustomWinSocket);
begin
inherited Create(Form1);
OnConnect:=ProxyClientConnect;
OnDisconnect:=ProxyClientDisconnect;
OnRead:=ProxyClientRead;
Host:=lHost;
Port:=lPort;
Server:=lServer;
end;

Destructor ProxyClient.Destroy;
begin
inherited Destroy;
end;

procedure ProxyClient.ProxyClientConnect(Sender: TObject;Socket: TCustomWinSocket);
begin
Form1.Memo1.Lines.Add(">>>


Polevi   (2002-12-25 17:30:00) [1]

и вообще с чего ты решил что в буфер гнезда влезет вся запрошенная тобой html-страница ?

короче говоря все у тебя неправильно


Polevi   (2002-12-25 17:28:00) [2]

где анализ результата SendText ?

When SendText returns a nonzero value, it must be called again later to write the value over the connection.


Наверх

Титульная страница Поиск, карта сайта Написать письмо