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

Вниз

Работа с TIdConnectionIntercept   Найти похожие ветки 

 
samael6 ©   (2007-05-31 02:51) [0]

Здравствуйте!
Такая задача: у меня есть интерсептор TIdConnectionIntercept прикрученный к TidSMTP, тем самым с просматриваю его траффик.
Как я могу изменять что-либо в этом потоке? Правильно ли будет редактировать передаваемый в обработчики (вида: IdConnectionIntercept1Send, IdConnectionIntercept1Receive) стрим (параметр AStream)?
Т.е. сейчас это так:


procedure TForm1.IdConnectionIntercept1Receive(
 ASender: TIdConnectionIntercept; AStream: TStream);
var
   ss: String;
begin
   SetLength(ss, AStream.Size);
   AStream.Read(ss[1], AStream.Size);
   if ss="SOMEDATA" then begin
       ss:="NEWDATA";
       AStream.Seek(0,0);
       AStream.Write(ss[1], length(ss));
       AStream.Size:=length(ss);
   end;
end;


И второе, как я могу из-под перехватчика приема, что-нибудь отправить в сокет? Т.е. например, дождавшись определенной команды, "взять упраление на себя" и ответить "по своему"...

Надеюсь вопрос понятен, хоть и каламбур :)
Спасибо за внимание


 
Samael6 ©   (2007-05-31 02:58) [1]

По второму вопросу, пробавал даже так (все в том же обработчике):

TidSMTP(ASender.Connection).Socket.Send(ss, length(ss));

...не катит :)


 
Сергей М. ©   (2007-05-31 10:09) [2]

Send(PChar(ss)^, length(ss));

!!!!!


> не катит


Учить Паскаль до полного просветления !


 
Samael6 ©   (2007-05-31 14:43) [3]

Спасиба Вам, что-то я не сообразил.
Вопрос можно считать закрытым если по первому вопросу комментариев нет :)



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

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

Наверх




Память: 0.47 MB
Время: 0.019 c
2-1201165926
Mariya
2008-01-24 12:12
2008.02.17
Клик на DBGrid


2-1201302467
altatr
2008-01-26 02:07
2008.02.17
Memo - запись в одну строку


2-1201286538
AntonUSAnoV
2008-01-25 21:42
2008.02.17
составить SQL выборку по именинникам


2-1201193988
AntonUSAnoV
2008-01-24 19:59
2008.02.17
как записать в событие onkeydown сочетание клавиш


15-1200305796
Stilet
2008-01-14 13:16
2008.02.17
Как проинсталить Perl?