Форум: "Сети";
Текущий архив: 2003.10.20;
Скачать: [xml.tar.bz2];
ВнизClientSocket!!!!! Найти похожие ветки
← →
oduvan (2003-08-24 17:01) [0]Вообщем есть код:
c.Host:="wwwkbp";
c.Port:=80;
c.Open;
st:="action=gettree";
c.Socket.SendText("POST /admin/service_lab/prodkernel.php HTTP/1.0"+#13#10);
c.Socket.SendText("Host: wwwkbp"+#13#10);
c.Socket.SendText("User-Agent: Super User Agent"+#13#10);
c.Socket.SendText("Content-Type: application/x-www-form-urlencoded"+#13#10);
c.Socket.SendText("Content-length: "+inttostr(length(st))+#13#10);
c.Socket.SendText("Referer: http://127.0.0.1/"+#13#10);
c.Socket.SendText(#13#10);
c.Socket.SendText(st);
c.Socket.SendText(#13#10);
Так вот , этот код не работает, только потому, что сокет не успевает сделать коннект, и все остальные команды, после
c.open
не обрабатываются. Как сделать ожидание соединения, если его нет, то типа окошко (Подождите пожалуйста), а потом, после соединения, посылаются данные.
??? Как это сделать?
← →
oduvan (2003-08-24 17:05) [1]ОООО!
Вот так сработало
c.Host:="wwwkbp";
c.Port:=80;
c.Open;
while not с.Active do
begin
Application.ProcessMessages;
end;
st:="action=gettree";
c.Socket.SendText("POST /admin/service_lab/prodkernel.php HTTP/1.0"+#13#10);
c.Socket.SendText("Host: wwwkbp"+#13#10);
c.Socket.SendText("User-Agent: Super User Agent"+#13#10);
c.Socket.SendText("Content-Type: application/x-www-form-urlencoded"+#13#10);
c.Socket.SendText("Content-length: "+inttostr(length(st))+#13#10);
c.Socket.SendText("Referer: http://127.0.0.1/"+#13#10);
c.Socket.SendText(#13#10);
c.Socket.SendText(st);
c.Socket.SendText(#13#10);
Хочу посоветоваться, правильно ли я сделал? :)
← →
SergP (2003-08-24 18:18) [2]Когда можно будет записывать отправляемые данные в TClientSocket, он сгенерирует событие OnWrite и запрос в принципе можно было бы отправить в самом обработчике.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2003.10.20;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.033 c