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

Вниз

TClientSocket (используемый внутри TServerThread.ClientExecute) не видит обрыва сессии   Найти похожие ветки 

 
Ohtori_Akio   (2001-12-15 18:20) [0]

Привет всем.
Беда такая - написал это я tcp-proxy на основе TServerSocket в stThreadBlocking. Казалось бы, чего уж проще - при попытке соединения на TServerSocket запускается тред, в нём создаётся TClientSocket, через него открывается исходящее соединение, а потом гоняются байты из входящего в исходящее и обратно.
Только вот беда - если TClientSocket ничего не передает, а соединение с удаленным сервером (например, irc :-) обрывается - TClientSocket на это никак не реагирует. Никаких событий в нём отследить не удаётся. Использую его при TClientSocket.ClientType := ctBlocking, как и положено.
Буду благодарен за советы (я прилежный чайник, поэтому нужно подробно). Есть тестовый пример, где есть проблема, но ничего лишнего - могу выслать.
Решение проблем через таймауты не устраивает.
Спасибо за внимание. :-)


 
Ghost_Old. ©   (2001-12-16 15:38) [1]

Как решить твой вопрос не знаю, но если нужно решить задачу..то можно воспользоваться..готовыми компонентами


 
Ohtori_Akio   (2001-12-16 17:57) [2]

Так я и пользуюсь готовыми. TClientSocket. Ещё более готовые компоненты мне не нужны - я потом с ними не реализую нужные мне вещи.


 
Ohtori_Akio   (2001-12-16 20:52) [3]

Я уточнил проблему на ещё более тестовом примере :-)
Суть в следующем - если я создаю TClientSocket, скажем, по клику - всё происходит замечательно, но стоит мне создать TClientSocket внутри TServerClientThread.Execute - и у меня события TClientSocket не выполняются (в том числе и столь нужный мне OnDisconnect).
Как заставить их выполняться?


 
nikkie ©   (2001-12-17 15:40) [4]

то, что ты пытаешься сделать, уже сделано в TIdMappedPort из indy.

"я потом с ними не реализую нужные мне вещи" - почему ты так думаешь?


 
Ohtori_Akio   (2001-12-17 17:38) [5]

Спасибо.
Ну вот потому и думаю, что не реализую - если сам не разберусь, в чём грабли.



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

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

Наверх




Память: 0.48 MB
Время: 0.015 c
14-9285
Геннадий
2002-01-18 07:51
2002.03.04
Ребята, подскажите где можно скачать бесплатную версию InterBase


4-9339
Ted
2002-01-05 12:11
2002.03.04
КАК спрятать минимизированное окно?????


7-9311
Никто
2001-11-30 04:20
2002.03.04
Системный таймер в XP (55 or 10 ms)


1-9209
Королев
2002-02-14 11:44
2002.03.04
как узнать параметры функции импортируемые из DLL?


14-9291
@ndron
2002-01-16 00:17
2002.03.04
Delphi : Win API