Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
15-1200486753
Petr V. Abramov
2008-01-16 15:32
2008.02.17
от имени и по поручению Олега Егорова


2-1201165926
Mariya
2008-01-24 12:12
2008.02.17
Клик на DBGrid


2-1201366122
ChaosAD
2008-01-26 19:48
2008.02.17
Query + Lookup


2-1201192854
Максим
2008-01-24 19:40
2008.02.17
запрет на движение формы


15-1200656760
Галинка
2008-01-18 14:46
2008.02.17
Чем бы начертить блок-схему




   Наверх