Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> помогите довести до ума код интерпретатора cmd, нужен "протокол обмена" 
:(
    Опции темы
etni
Дата 4.6.2008, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



"разработать сервер командной строки -приложение, вызывающее интерпритатор командной строки (cmd.exe) с переоопределением стандартных потоков ввода\ввывода. Сервер должен обеспечивать прием ДОС команд через дуплексный именованный канал пересылать их на исполнение интерпитатору принимать результаты их исполнения и отправляить их по дуплексному каналу обратно клиенту. Сервер должен автоматически перезапускать cmd.exe в случаем завершения его работы а также после окончания сеанса свзяи с клиентом Разработать клиент командной строки -консольное приложение подключающееся к серверу командной строки Клиент должен осуществлять ввод ДОС команд с консоли пересылать их на сервер принимать и выводить на консоль результаты исполнения ДОС команд."

так звучит поставленное передо мной задание. Язык просят Delphi,но для реализации нужно использовать системные функции Windows.

В приложенном файле мои скромные потуги(написано в делфи билдере)...виснет после 1й команды...помогите довести до ума пожалуйста! По возможности с коментариями. Спасибо!

Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  3u3u.rar 68,75 Kb
PM MAIL   Вверх
Magik
Дата 5.6.2008, 08:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



ИМЕЮ МНЕНИЕ !
Задача ваша сложная, и , в принципе, вряд ли решаема рамками форума. Дело в том, что 
 интерпретатор (мне ближе слово анализатор) командной строки написать не так уж сложно, и  с этим можно справиться. Сложнее будет дальше, когда вам придется заниматься организацией перенаправления потоков. Существуют уже разработанные международные протоколы передачи по каналам связи (как я понял вы  используете дуплексный канал, и не собираетесь изобретать колесо) . В этих протоколах  описаны все виды пакетов передаваемой информации и их структура. Следующий этап – формирование  пакетов (в протоколах это – ASDU). И далее, организовать передачу пакетов в канал связи, через устройства ввода/вывода.  На ваше усмотрение, - СОМ-порт по стыкам 232, 422, 485, (и другие порты), Ethernet.  Эти вопросы решены на уровне узкоспециализированного использования. Сразу скажу, что в И-нете инфа по этим вопросам ничтожна мала. Так что, вам не позавидуешь. Что касается протоколов, то лично мне известны  IEC101, IEC104. Они расчитаны на передачу как текстовой информации, так и различного рода телеметрии.
Ну, если , ваша цель укладывается в рамки работы клиента и сервера на одной машине, то это намного упрощает решение.

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


Новичок



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

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



Дальше развивать программу надобности нет,т.к. это что-то типа курсовой работы.Однако вот я зашёл в тупик. Клиент-сервер должны работать на одной машине(по крайней мере при получении задания этот пункт не упоминался smile )
Если для вас это не очень сложно - напишите ваш вариант протокола обмена,при котором "анализатор" не будет висеть.

ps
мне советовали сделать это через функцию Createfile...
PM MAIL   Вверх
Rennigth
Дата 5.6.2008, 12:35 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

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



etni, задача интересная, но ресурсоемкая. разработка такой штуковины может занять от ~3 до ~30 дней), и врятли за просто так кто-то возметься...

Цитата(etni @  5.6.2008,  12:10 Найти цитируемый пост)
Дальше развивать программу надобности нет,т.к. это что-то типа курсовой работы.Однако вот я зашёл в тупик. 

Если ты зашел в тупик, скажи в чем проблема? а не общими словами, что что-то не так, помогите, посмотрите сорцы. 

Цитата(etni @  4.6.2008,  23:12 Найти цитируемый пост)
В приложенном файле мои скромные потуги

а что это?  smile 


Цитата(etni @  5.6.2008,  12:10 Найти цитируемый пост)
мне советовали сделать это через функцию Createfile... 

с ее помощью много чего можно сделать smile для какой конкретно цели советовали? 

Цитата(etni @  5.6.2008,  12:10 Найти цитируемый пост)
Если для вас это не очень сложно - напишите ваш вариант протокола обмена,при котором "анализатор" не будет висеть.

имхо, гоу-ту в центр помощи, а лутше сам сделай.
...или задавай вопросы посуществу. 




--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Felan
Дата 5.6.2008, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



etni, Сделай все по телнету.
У в INDY есть почти готовый сервер. И любой текстовый клиент будет работать.



--------------------
// Любая сложная система - это темный лес. Каждый в этом лесу протаптывает свои тропинки, по ним и бегает. Лишь изредка, сходя с них, мы находим много интересного, а порою и страшного.
PM MAIL WWW ICQ   Вверх
etni
Дата 5.6.2008, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Felan
а можно поподробнее,т.к. я нуб в принципе,да ещё и на форуме этом новичок...
PM MAIL   Вверх
etni
Дата 5.6.2008, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



с инди вроде разобрался,спасибо!
PM MAIL   Вверх
Felan
Дата 6.6.2008, 07:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Да что тут расписывать-то... Есть компонент TIdCmdTCPServer, это практически готовый Telnet сервер, нужно только команды добавить.
Telnet протокол - самый простейший текстовый протокол обмена. Пишешь данные обычным текстом, завершение команды Enter, грубо говоря.
Вобщем твой сервер берет и напрямую в cmd.exe шлет все, что получил, и ответы возвращает. Получится просто удаленная консоль.

Если конкретные вопросы будут, помогу, чем смогу.


--------------------
// Любая сложная система - это темный лес. Каждый в этом лесу протаптывает свои тропинки, по ним и бегает. Лишь изредка, сходя с них, мы находим много интересного, а порою и страшного.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




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


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

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