Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Телнет сервер от INDY 
:(
    Опции темы
Kleovo
Дата 19.9.2006, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 19.9.2006

Репутация: нет
Всего: нет



Используя компоненту INDY написал телнетовский сервер 
Мне необходимо чтобы сервер периодически выдавал сообщения формируемые сервером(без запроса клиента ), и обрабатывал запрос клиента. 
Как такое сделать ?

В обработчике Timer1Timer я получаю даные pStR которые затем сервер выдает клиенту в IdTelnetServer1Execute(смотри ниже) 
Затем ( Form1->Edit1 -> Text = AThread->Connection ->InputLn() 
опрос клиента. 
На этой обработке Сервер постояно ожидает запроса от клиента. 
А нужно, чтобы выполнялся вывод на клиента без ожидания и запрос клиента. 


Код


void __fastcall TForm1::IdTelnetServer1Execute(TIdPeerThread *AThread) 


while(   IdTelnetServer1 -> Active ) 
  { 
        if((CheckBox1->Checked) == true && (pStR !=NULL)) 
           {AThread->Connection->Write(pStR); 
             AThread->Connection->Write(Form1->LabelDT ->Caption +"=>");} 

       Form1->Edit1 -> Text = AThread->Connection ->InputLn(); 
  } 
}


PM MAIL   Вверх
Romikgy
Дата 19.9.2006, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



Цитата(Kleovo @  19.9.2006,  14:32 Найти цитируемый пост)
чтобы выполнялся вывод на клиента без ожидания и запрос клиента. 

дык активируй таймер да пиши на клиента типа Thread->Connection->Write(pStR); в чем проблема то ?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Kleovo
Дата 19.9.2006, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 19.9.2006

Репутация: нет
Всего: нет



При вставке AThread->Connection -> WriteLn(pStR)); в функцию таймера
 выдает сообщение: Undefined symbol 'AThread'
Как возможно описать AThread , чтобы ее было видно из Timer1Timer?

PM MAIL   Вверх
Romikgy
Дата 20.9.2006, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



тогда ищи тоже в 
Цитата(Kleovo @  19.9.2006,  14:32 Найти цитируемый пост)
IdTelnetServer1




--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Kleovo
Дата 20.9.2006, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 19.9.2006

Репутация: нет
Всего: нет



Не понял, что искать?
А возможно каким то образом узнать со стороны сервера вводилась информация  клиентом без считывания ее?
Или как описать переменную  AThread глобально?
PM MAIL   Вверх
Romik_Yarosh
Дата 20.9.2006, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 18.9.2006

Репутация: нет
Всего: нет



Код

IdTelnetServer1->Threads[чето там ]->Connection -> WriteLn(pStR);

Threads это TThreadList
PM MAIL   Вверх
Kleovo
Дата 20.9.2006, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 19.9.2006

Репутация: нет
Всего: нет



 smile 
Не получается обьявить поток  AThread в  Timer1Timer?
PM MAIL   Вверх
Romikgy
Дата 20.9.2006, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



Цитата(Kleovo @  20.9.2006,  13:01 Найти цитируемый пост)
Не получается обьявить поток  AThread в  Timer1Timer? 

нда smile
Цитата(Romik_Yarosh @  20.9.2006,  08:55 Найти цитируемый пост)
IdTelnetServer1->Threads[чето там ]->Connection -> WriteLn(pStR);

 smile 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Kleovo
Дата 22.9.2006, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 19.9.2006

Репутация: нет
Всего: нет



Пробую использовать 

Код

    Status = AThread->Connection->CurrentReadBufferSize()

как то не понятно выдает значение Status 0 или -1 при этом ввода со стороны клиента нет.
 Может проблема в версии INDY 8.0.25?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0602 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.