Показать сообщение отдельно
  #3  
Старый 25.11.2010, 18:00
ravehog ravehog вне форума
Прохожий
 
Регистрация: 25.11.2010
Адрес: Санкт-Петербург
Сообщения: 7
Репутация: 10
По умолчанию

Вы не поверите, но эта фигня работает! Шедевр ослиной простоты.

Если на клиент добавить компонент idTCPClient и idTelnetClient, забитые на два разных порта, а на сервере - два idTCPServer на те же порты... По паре "TCP Client - TCP Server" сделать передачу команд на CommandHandler, а по паре "Telnet Client - TCP Server" - зацикленную передачу данных от сервера к клиенту, не выходя из процедуры OnConnect (в цикл встроены Sleep и Application.ProcessMessages)... То получаем непрерывный поток данных от сервера к клиенту по паре сервер-телнет, который управляется программно данными, посылаемыми через пару сервер-клиент ТСР (поскольку телнет постоянно что-то читает и отправить свои данные уже не может). Естественно, со всякими там обработчиками исключений на предмет дисконнекта клиента или просто желания его покинуть этот "поток"...

Жестокая таки штука! Сумрачный, блин, гений... Сижу как доской по голове ударенный, ну и решение.

p.S. Почему телнет? По-моему, единственное, что не вешает интерфейс клиента, когда пытается читать данные, если они еще не пришли с сервера. Попытки наладить через ТСР клиент и readln с таймаутом ничего не дали.
Ответить с цитированием