![]() |
Модераторы: Snowy, Poseidon, MetalFan |
![]() ![]() ![]() |
|
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Нужно сделать консольный телнет клиент.
Для начала хотя бы копию WinNT+ Может у кого есть готовый, или хотя бы идеи как его делать. т.к. консоль, то естественно нет никакого Forms. А без формзов у меня затыка с использованием Indy. Как правильно передать индюкам управление и рулить евентами? |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 5 Всего: 98 |
создай класс ( любой ) и назанач функции этого класса в обработчики инди
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Это понятно, речь о другом: как мне заставить инди работать?
Допустим, я даю комманду Connect. О том, что коннект прошел корректно, я узнаю по событию OnConnect. Но, если у меня нет Application, то кто будет рулить евентами? Инди сама отказывается. Значит нужно это писать ручками. Как это сделать правильно? Инди сделает коннект и отдаст управление дальше мне. т.к. приожение консольное, то модель приложения не событийная, а линейная. Как мне, оставляя приложение консольным, реализовать событийную модель??? |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 5 Всего: 98 |
какая разница кто событиями рулит? ты, как я сказал, делать пробовал?
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Именно так я и пробовал делать. Даже не пробовал, а именно так и сделал - не работает. Поэтому и задал вопрос. Очевидно, что инди сама евенты не обслуживает, поскольку ей никто не сообщает о событиях. Если программа линейна, то я сам должен говорить, куда передать управление. Значит я сам должен ловить сообщения винды и решать, что с ними делать. Инди за меня тут не решит. Пока я ручками не передам ей управление, инди ничего не сделает и её евенты не работают.
Вот меня и интересует, как мне так по хитрому раздавать сообщения виндов, чтобы инди работало? Или проще воспольсоваться чем-нибудь, чтобы работало синхронно: врыйт в сокет, рид из сокета, а не мучаться с инди... Хоть кто-нить вообще видел консольный телнет клиент на дельфи? |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 5 Всего: 98 |
я, может, чего не понимаю, но такой:
код работает просто отлично ( извеняюсь за язык, но все должно быть понятно ) -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
<Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 1 Всего: 64 |
Snowy Выполняй всю работу в отдельном потоке. У меня сейчас так FTP клиент мой работает - потоку передается команда, он ее выполняет и переходит в режим ожидания(Susped) до следующей команды.
Это сообщение отредактировал(а) <Spawn> - 16.1.2005, 06:34 -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
У меня сейчас делается так (упрощенный вариант):
Хрень какая-то... Ведь не работало... А теперь работает... Непонятно. Ладно. Буду ковырять дальше. Добавлено @ 12:12 to Spawn: А зачем телнету отдельный поток? У него же принцип действия: отправил-получил. Асинхронность не нужна. Телнет вообще посимвольно работает. Нет смысла посылать комманды раньше, чем закончен вывод ответа. Или может я чего не понимаю... |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 5 Всего: 98 |
не могло оно не работать
![]() -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Сети" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |