Смекни!
smekni.com

Программное обеспечение модемов (стр. 3 из 4)

13.8. Использование Script-команд

Scri pt-командыи Script-файлы являются чрезвычайно удобным средством автоматизации часто повторяемых задач. Они представляют собой последовательность команд,написанных на специально созданных для этих целей Scri pt-языках (script languages) и оформленных в виде макрокоманд или файлов. В состав таких Script-языков входит ряд операторов, позволяющие выполнять основные функции связных программ, такие как набор номера, ввод пароля, ответы на запрос удаленного абонента, пауза и т.п. Современные Script-языки имеют различный уровень сложности, начиная от простого списка возможных команд до развитых алгоритмических языков. В программах со сложными Script-языками обычно имеется функция создания Script-команд путем запоминания выполняемой пользователем последовательности действий.

Наиболее известными Script-языками являются SALT (Quick Link II Fax), SALT II (WinTelix), Aspect (Procomm Plus), SLIQ (QmodemPro for Windows'95) и др. В качестве простого примера использоватгя Script-команд рассмотрим применение свободно распространяемой утилиты Dial-Up Scripting Tool, предназначенной для автоматизации сетевых соединений (Dial-Up ) в среде Widows'95.

Сначала требуется создать Script-файл — текстовый файл, содержащий последовательность команд. Основными командами последовательности являются следующие:

ргос <пате> определяет начало Script-процедуры. Все Script-файлы должны иметь главную процедуру (ргос main). Последовательность команд начинает выполняться в главной процедуре и заканчивается в ее конце.

endproc — обозначает окончание Script-процедуры. После выполнения этой команды из главной процедуры средствами Dial-Up Networking будет запущен протокол РРР или SLIP.

delay <n seconds> задает паузу длительностью п секунд между текущей и следующей командами.

waitfor "<string>" используется для ожидания последовательности символов, передаваемых удаленным компьютером, с которым устанавливается соединение. Задаваемая последовательность символов<string> зависит от регистра их набора. Например, если задана команда waitfor "OLEG", то при приеме последовательности "Oleg" следующая команда выполнена не будет.

transmit "<string>" &bsol; SUSERID &bsol; SPASSWORD - передача последовательности символов, имени пользователя или его пароля удаленному компьютеру. Имя пользователя и пароль автоматически передаются из соответствующих переменных Dial-Up Networking connection, с которым связан данный Script-файл (рис. 13.11).

set port databits <integer> — изменяет число бит в передаваемом компьютером асинхронном символе. Допустимы значения от 5 до 8. Если эта команда не используется, то применяются установки порта из свойств Dial-Up Networking connection, с которым связан данный Script-файл.


Рис. 13.11. Установка связи средствами Dial-Up Networking Windows'95

set port stopbits <integer> изменяет число стоповых бит в передаваемом асинхронном символе. Возможны значения 1 или 2. Если эта команда не применяется, то используются установки свойств соответствующего Dial-Up Networking connection.

set port parity none &bsol; odd. &bsol; even &bsol; mark &bsol; space позволяет изменять схему паритета передаваемых в течении сессии асинхронных знаков. Особенности команды те же, что и двух предыдущих.

set ipaddr — устанавливает для сессии IP-адрес.

set screen keyboard on &bsol; off включает/выключает возможность ввода с клавиатуры в окно терминала.

getip <optional index> получает IP-адрес и использует его как адрес рабочей станции. Параметр <optional index> содержит не тот IP-адрес, который будет использоваться в случае, если удаленный компьютер прислал более одного адреса.

Halt — позволяет приостановить выполнение Script-файла. В этом случае появляется окно терминала, где вручную можно ввести дополнительную информацию. Для продолжения соединения необходимо нажать кнопку Continue.

; — индикатор комментария. Любой текст, следующий за этим знаком игнорируется.

Пример простого Script-файла, применяемого для связи с Internet-провайдером, приведен ниже.

proc main

delay I

transmit ""M"

waitfor "login:"

delay 1

transmit "uutest"

transmit ""M"

delay 1

waitfort "password:"

delay 1

transmit "test"

waitfor "Shere=gsp"

delay 2

transmit "^PStest ppp"

transmit ""M" endproc

Затем созданный Script-файл необходимо сохранить с расширением *.scp и связать с соответствующим сетевым соединением. Это осуществляется при помощи утилиты Dial-Up Scripting Tool (рис. 13.12):


Рис 13 .12 Свнязывание сетевого соединения со скрипт файлом

> в окне "ConnecLions" выберите сетевое соединение;

> в строке "File name" введите имя требуемого Script-файла;

> нажмите кнопку "Apply".

13.9. Эмуляция Host-компьютера

Некоторые коммуникационные программы позволяют переводить компьютера в режим Host-компьютера (главного компьютера). Такой режим позволяет организовать на базе компьютера упрощенную электронную доску объявлений BBS (Bulletin Board Service) или банк данных для группового использования. Удаленные пользователи получают доступ к ресурсам местного компьютера, находящегося в режиме главного компьютера. Они могут просматривать каталоги и файлы, организовывать их прием и передавать свои данные на Host-компьютер.

Для организации режима Host-компьютера коммуникационная программа должна выполнить следующую последовательность действий:

^ перевести модем в режим автоответа на входящий звонок;

> передать "приглашение" вызывающему абоненту после установления соединения;

> запросить имя и пароль абонента;

> организовать структуру доступа для данного абонента, т.е. задать пути и каталоги, к которым возможен доступ абонента со своими правами доступа;

> выполнить автоматическое разъединение при прекращении сеанса с удаленным абонентом.

Перевод компьютера в Host-режим производится при помощи соответствующего варианта команды конкретной связной программы. Чаще всего в таких программах режим Host-компьютера устанавливается путем запуска специальной Script-команды.

13.10. Эмуляция терминалов

Свойство эмуляции терминала коммуникационной программы дает возможность компьютеру функционировать как терминал определенного типа, что, в свою очередь, предоставляет ему возможность связываться практически с любым Host-компьютером, в частности, с BBS. В тоже время, режим терминала коммуникационной программы является исходным для ввода любых команд управления. В этом режиме осуществляется выдача команд модему и получение ответов от него.

Функция эмуляции терминала осуществляет перевод команд от Host-компьютера и к нему в команды, определенные изготовителями для терминала данного типа. Эти команды часто начинаются с кода ASCII "ESC" (1Bh), за которым следует последовательность знаков. Такие последовательности называются Esc-последовательностями. Содержание этих последовательностей для разных типов терминалов различно.

Как правило, имеется возможность выбора типа эмулируемого терминала (рис. 13.13). Предлагаемая в коммуникационных программах настройка режима терминала позволяет управлять тем, как приложение обращается с информацией, отображаемой в режиме терминала (рис. 13.14). Это относится как к принимаемым данным, так и к данным, набираемым на клавиатуре.

Line Wrap — включение опции автоматического перевода строки по достижению ее границы экрана.

Add LF to CR — упраляет вставкой символа перевода строки LF (Line Feed) после каждого символа возврата каретки CR (Carriage Return).

Destructive backspace — опция управления действием клавиши Backspace. Когда она выключена, клавиша Backspace сдвигает курсор на один символ влево не стирая его. При включении этой опции клавиша Backspace дополнительно стирает стоящий слева символ.

Strip high bit — предписывает программе игнорировать старший бит выводимого на экран байта. При работе с кодировками национальных языков данная опция должна быть выключена.

Наиболее простым типом терминала является TTY. Он обрабатывает только простейшие управляющие символы, такие как возврат каретки и табуляция. Широкое распространение получили термины ANSY, ANSY-BBS, VT52, VT100, VT102 и WISE. Многие программы электронных справочных служб BBS при соответствующих командах могут передавать последовательности, поддерживаемым терминалом ANSY-BBS. Терминал VT102 разработан фирмой Digital Equipment Corporation и также является популярным типом терминала. В нем реализовано большое число функций.


Рис. 13.t4. Опции эмуляции терминала ANSY в программе Qmodem Pro

В табл. 13.2—13.5 приводятся управляющие последовательности наиболее распространенных терминалов и их эмуляторов.

Таблица 13.2. Управляющие последовательности для терминалов ANSI

Клавиши PC Клавиши терминала Передаваемые символы
Tab Tab Л1
F1 Program Function 1 (PF1) *[ОР
F2 Program Function 2 (PF2) *[OQ
F3 Program Function 3 (PF3) *[ОР
F4 Program Function 4 (PF4) "[OS
Backspace Backspace
Enter Return
Gray Delete Delete Character D
Gray Home Home Cursor -[[Н
Gray End Erase End of Line W
Gray Pageup Mapped by QmodemPro ©UPLOAD
Gray Pagedown Mapped by QmodemPro ©DOWNLOAD
Gray Up Cursor Up ^[А
Gray Down Cursor Down ^[В
Gray Left Cursor Left W
Gray Right Cursor Right -ЧЕС
Pad/ / /
Pad' * *
Pad-
Pad+ + +
Pad Enter Enter
Pad.
PadO 0 о
Pad1 1 1
Pad 2 2 2
Pad3 3 3
Pad 4 4 4
Pad 5 5 5
Pad 6 6 6
Pad? 7 7
Pad 8 8 8
Pad 9 9 9
Pad Delete Delete Character D
Pad End Erase End of Line W
Pad Down Cursor Down ^[В
Pad Pagedown Mapped by QmodemPro ©DOWNLOAD
Pad Left Cursor Left -[[D
Pad Right Cursor Right "[[С
Pad Home Home Cursor -[[Н
Pad Up Cursor Up -[[А
Pad Pageup Mapped by QmodemPro ©UPLOAD
Shift+Backspace Delete Character D
Shift+Enter Enter
Shift+Gray Delete Delete Character D
Shift+Pad / / /
Shift+Pad« * *
Shift+Pad —
Shift+Pad + +
Shift+Pad Enter Enter
Shift+Pad Delete
Shift+Pad Insert 0 о
Shift+Pad End 1 1
Shift+Pad Down 2 2
Shift+Pad Pagedown 3 3
Shift+Pad Left 4 4
Shift+Pad Clear 5 5
Shift+Pad Right 6 6
Shift+Pad Home 7 7
Shift+Pad Up 8 9
Shift+Pad Pageup 9 9
Control+Backspace 0
Control+Enter Enter
Control+Gray Home Insert Line' ^[L
Control+Gray Pageup Delete Line "[[М
Control+Gray Pagedown Clear Screen ^[WW
Control+Pad / / /
Control+Pad « * *
Control+Pad — Keypad Application MINUS "[От
Control+Pad + Keypad Application COMMA "[01
Control+Pad Enter Keypad Application Enter "[ОМ
Control+Pad . Keypad Application PERIOD "[On
Control+Pad 0 Keypad Application 0 л[0р
Control+Pad 1 Keypad Application 1 A[OQ
Control+Pad 2 Keypad Application 2 "[Or
Control+Pad 3 Keypad Application 3 '40s
Control+Pad 4 Keypad Application 4 "[Ot
Control+Pad 5 Keypad Application 5 *[0u
Control+Pad 6 Keypad Application 6 "[Ov
Control+Pad 7 Keypad Application 7 ^Ow
Control+Pad 8 Keypad Application 8 ^Ox
Control+Pad 9 Keypad Application 9 л[0у
Control+Pad Delete Keypad Application PERIOD "[On
Control+Pad Insert Keypad Application 0 л[0р
Control+Pad End Keypad Application 1 л[0о
Control+Pad Down Keypad Application 2 "[Or
Control+Pad Pagedown Keypad Application 3 '40s
Control+Pad Left Keypad Application 4 "[Ot
Control+Pad Clear Keypad Application 5 ^Ou
Control+Pad Right Keypad Application 6 , *[0v
Control+Pad Home Keypad Application 7 "[Ow
Control+Pad Up Keypad Application 8 "[Ox
Control+Pad Pageup Keypad Application 9 л[0у
Shift+Control+Enter Enter ^
ShIft+Control+Pad Enter Enter "M
ShIft+Control+Pad Home Insert Line ^[L

Таблица 13.4. Управляющие последовательности для терминалов VT 102