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

Вниз

TIdHttpServer TIdHttp TIdTCPClient TIdTCPServer   Найти похожие ветки 

 
ilka ©   (2003-10-01 15:01) [0]

Добрый день. Написал код для пересылки данных используя TIdTCPClient и TIdTCPServer, переделал под TIdHttpServer и TIdHttp но он не работает, TIdHttpServer.OnExecute()- не вызывается.

//send
var
m:TMemoryStream;

m:=TMemoryStream.Create;
m.LoadFromFile("2.txt");
IdHTTP1.WriteStream(m,true,true);
.....
TForm1.IdHTTPServer1Execute(...)
var
m:TMemoryStream;
....
m:=TMemoryStream.Create;
AThread.Connection.ReadStream(m);
m.SaveToFile("4.txt");



 
Reindeer Moss Eater ©   (2003-10-01 15:16) [1]

Если OnExecute и вправду не вызывается, значит у сервера определены CommandHandlers


 
ilka ©   (2003-10-04 13:50) [2]

>Reindeer Moss Eater © (01.10.03 15:16) [1]
а что значит "у сервера определены CommandHandlers"


 
Reindeer Moss Eater ©   (2003-10-06 09:47) [3]

То и значит, что список CommandHandlers - не пустой.


 
ilka ©   (2003-10-06 17:09) [4]

что это значит..
и как с этим бороться ?..


 
Reindeer Moss Eater ©   (2003-10-06 17:28) [5]

Смени пластинку


 
Reindeer Moss Eater ©   (2003-10-07 09:09) [6]

TIdHTTPServer.CommandHandlers : TIdCommandHandlers;

Если у сервера определены хендлеры команд (свойство CommandHandlers не пустое), то событие OnExecute НЕ ГЕНЕРИРУЕТСЯ сервером.
Вся обработка происходит в OnBeforeCommandHandler, OnAfterCommandHandler, OnNoCommand.

Все.

Это если твой клиент вообще сумел соединиться с сервером и что-о посылает ему (в чем я сомневаюсь уже)


 
ilka ©   (2003-10-08 19:28) [7]

>Reindeer Moss Eater © (07.10.03 09:09) [6]
в делфе6 у TIdHttpServer нет CommandHandlers


 
Reindeer Moss Eater ©   (2003-10-09 08:47) [8]

Значит твой клиент не соединен с сервером или ничего не пишет ему.


 
ilka ©   (2003-10-09 13:00) [9]

клиеент соединен с сервером
но вместо OnExecute вызывается Server.ONCommandOther
и в нем мои данные, но проблема в том что я немогу использовать ONCommandOther тк надо будет пересылать заархивированные данные, а ONCommandOther не дает возможности их прислать.


 
Reindeer Moss Eater ©   (2003-10-09 13:05) [10]

>Reindeer Moss Eater © (07.10.03 09:09) [6]
в делфе6 у TIdHttpServer нет CommandHandlers


Ну и как тебя понимать?

но проблема в том что я немогу использовать ONCommandOther тк надо будет пересылать заархивированные данные, а ONCommandOther не дает возможности их прислать.

Это почему еще?


 
ilka ©   (2003-10-09 13:32) [11]

>Ну и как тебя понимать?
TIdHttpServer.CommandHandlers не существует

>Это почему еще?

serverCommandOther(Thread: TIdPeerThread; const asCommand, asData, asVersion: String);
как я понял полученные данные назодятся в asData:string, а запакованные данные содержат недопустимые для string символы.

если через client.POst(..., TStream("файл") ,...) то вызывается
Server.OnCommandGet(AThread: TIdPeerThread; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);

где данные в ARequestInfo.Params.Text. Опятьже данные доходят не все


 
Reindeer Moss Eater ©   (2003-10-09 14:26) [12]

Если TIdHttpServer.CommandHandlers не существует, то откуда взялось событие OnCommandOthers?????

serverCommandOther(Thread: TIdPeerThread; const asCommand, asData, asVersion: String);
как я понял полученные данные назодятся в asData:string, а запакованные данные содержат недопустимые для string символы.


Какие такие "запакованные" данные? Это данные из реквеста отправленного из БРАУЗЕРА.



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

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

Наверх




Память: 0.49 MB
Время: 0.008 c
4-11720
Dens
2003-10-09 13:31
2003.12.04
Как отловить события создания, удаления, активации MDI-child форм


6-11641
Wiz@rd
2003-10-10 12:41
2003.12.04
Как указать настройки прокси сервера?


14-11703
electric
2003-11-12 20:12
2003.12.04
$$$ Money $$$


3-11588
rtooo
2003-11-13 21:57
2003.12.04
какими базами для этого лучше всего пользоваться


1-11608
Jackson
2003-11-23 23:59
2003.12.04
печатать на французском