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

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

Как получить данные из TIdMappedPortTCP ?


MegaVolt ©   (2004-11-10 17:49:00) 

Нужно получить входные данные из TIdMappedPortTCP изменить их и отправить дальше. А так же нужно знать от кого эти данные пришли. Как это возможно реализовать? Я пробовал разобратся с хелпом самостоятельно но так ничего и не понял. Нужно исспользовать IdConnectionIntercept если я правильно понимаю. Но как с этим Штексузе работать я не понимаю :( Пробовал искать примеры в инете тоже бесполещно :( Выручайте.


MegaVolt   (2004-11-11 15:24:00) [1]

Само перенаправление пашет на ура :) А вот когда я добавил обработку приложение на большой нагрузке просто закрывается без слов :( Вот меня и инетересует как такое возможно. Или должна быть ошибка или винда например ругнулась бы. А так молча без слов оп и закрылась. Отлаживать на боевом серваке не могу :( Следовательно остаётся гадать в чём может быть дело.


Digitman   (2004-11-11 15:12:00) [2]

ты же в

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1100011528&n=4

сказал что это именно то что тебе нужно ?!

значит, надо понимать, разобрался в логике и функциональности !

какого ж тогда рожна вопросы продолжаешь сыпать ? причем те же самые по сути, что и при использовании TServer/ClientSocket ?


MegaVolt   (2004-11-11 15:04:00) [3]

Сделал запустил. Теперь она закрывается вообще без ругани. Как такое возможно? Какой класс ошибок может вызвать такой эффект?


MegaVolt   (2004-11-10 18:21:00) [4]

В результате раздумий сделал так:

procedure TForm1.IdMappedPortTCP1Connect(AThread: TIdMappedPortThread);
begin
 AThread.Connection.Intercept:=TIdConnectionIntercept.Create(Form1);
 AThread.Connection.Intercept.OnReceive:=IdConnectionIntercept1Receive;
end;

procedure TForm1.IdMappedPortTCP1Disconnect(AThread: TIdMappedPortThread);
var
 ind:integer;
begin
 AThread.Connection.Intercept.Free;
end;

в IdConnectionIntercept1Receive принимаю информацию. Пользователей различаю по AThread.Connection.Intercept
Такой подход правильный? Так и нужно создавать на каждого пользователя свой Intercept?


Наверх

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