ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ МОДЕМОВ
1. Основные функции программ для модемов
Набор выполняемых связными программами функций чрезвычайно широк и может значительно отличаться в каждом конкретном случае. Основными функциями программ для модемов являются:
^ конфигурирование связного порта и режимов его взаимодействия с внутренней шиной компьютера (для внутренних модемов);
> конфигурирование модема, то есть установка протокола передачи, формата данных, команд и других параметров;
> управление модемом в процессе установления соединения и при передаче данных, вывод ответов модема и информации о состоянии соединения;
> передача файлов между взаимодействующими компьютерами;
> диалоговый текстовый обмен между пользователями компьютеров (Chat-режим);
> доступ к информационным службам, базам данных;
> выход в Internet;
> удаленный доступ к локальной сети предприятия;
> эмуляция режима Host — компьютера (главной ЭВМ) для ряда удаленных терминалов;
> эмуляция режима терминала удаленного Host-компьютера;
> сохранение принимаемой и передаваемой информации;
> регистрация событий, происходящих в течение сеанса связи;
> автоматизация часто повторяющихся последовательностей действий;
> передача факсимильной информации между компьютерами или компью тером и факсимильным аппаратом;
> организация хранения вспомогательной информации, такой как телефон ные номера, данные о конфигурации модема и др.
Связные программы обеспечивают интерфейс пользователя с модемом, позволяют управлять конфигурацией модема и выполнением ими основных своих функций.
Кроме перечисленных основных функций, иногда возможна реализация протоколов сжатия данных и исправления ошибок.
Специфическими особенностями программ передачи факсимильной информации являются:
> передача данных по расписанию многочисленным адресатам;
^ прием и передача факсимильной информации в фоновом режиме;
> преобразование ряда графических форматов данных в стандартные для факсимильных аппаратов;
> возможность просмотра факсимильной информации.
13.2. Типовые команды связных программ
В большинстве связных программ (в основном для операционных систем типа DOS) для управления их режимами работы наряду с меню используются так называемые Alt-команды. Можно сказать, что сформировался некий стандарт де-факто на такие команды. Однако в конкретной реализации коммуникационной программы возможны некоторые отличия. Рассмотрим типовые Alt-команды на примере программы Procomm Plus.
13.2.1. Команды управления соединением
До соединения:
<Alt>—<D> выход в телефонный справочник и набор номера.
В процессе соединения:
<Alt>—<B> передача разрыва;
<Alt>-<C> очистка экрана;
<Alt>—<G> сохранение информации, выведенной на экран;
<Alt>—<L> включение/отключение принтера;
<Alt>—<T> вывод времени соединения;
<Alt> — <М> использование клавиш макроопределений;
<Alt>—<Fl> включение/выключение записи в файл регистрации соеди нения;
<Alt>- <F2> задание паузы записи в файл регистрации соединения;
<Alt>- <F5> запуск Script-файла;
<Alt> —<F6> повторный вывод сохраненного содержимого экрана;
<Alt> — <Е> переключение режима дуплекс/полудуплекс;
<Alt>—<0> включение режима диалога (Chat—режима);
<Alt>—<Q> включение Host-режима;
<Alt> — <J> инициализация модема;
<Alt>—<Y> автоматический ответ на вызов;
<Alt>—<U> сброс терминала;
<Alt> -<R> режим записи;
<Alt> — <К> переход в меню команд программы защиты от ошибок прото кола Kermit;
<Alt> — <N> пауза экрана;
<Alt> — <F3> переключение режимов "возврат каретки/ возврат каретки с переводом строки" (CR/CRLF).
После соединения:
<Alt> — <Н> отключение от линии;
<Alt>-<X> выход из программы.
13.2.2. Команды установки конфигурации
<Alt>—<S> конфигурирование модема;
<Alt>—<P> конфигурирование портов;
<Alt> <W> таблица преобразования;
<Alt> - <F8> распределение функций клавиш клавиатуры.
13.2.3. Команды дополнительных функций
<Alt> — <А> вызов текстового редактора;
<Alt>—<F> выход в каталог файлов;
<Alt>—<!> вывод информации о программе;
<Alt>—<V> просмотр файла;
<Alt>—<F7> смена каталога;
<Alt>—<=> использование буфера временного хранения (Clipboard);
<Ctrl>—<\> режим монитора;
<Ctrl > — < ]> изменение состояния;
<Ctrl> — < — > изменение строк;
<'>
выход в меню программы.
13.3. Конфигурирование порта
13.3.1. Установка номера порта
Большинство программ позволяют использовать последовательные порты СОМ 1—COM4. Однако программы, ориентированные на компьютеры IBM PS/2, могут использовать СОМ1—СОМ8. Номер порта, устанавливаемый в программе, должен соответствовать реально используемому модемом порту. Рис. 13.1 иллюстрирует меню операционной системы Windows'95, в котором производится установка номера порта.
13.3.2. Скорость передачи
Скорость передачи данных по последовательному порту задается одним из значений: 75, 110, 300, 1200, 2400, 4800, 9600, 19600, 38400, 57600, 115200 Бод. Выбор скорости зависит от типа модема, его максимальной скорости и типа микросхемы UART, используемой в контроллерах последовательного порта модема и компьютера.
Если вы не являетесь счастливым обладателем UART 16550A и не используете программные ускорители типа FOSSIL-драйверов, то скорость передачи порта не может быть выше 19200 Бод.
Рис. 13.1.
Установка свойств модема в Windows'95
При использовании модема, поддерживающего протоколы сжатия (V.42bis, MNP5), рекомендуется устанавливать скорость порта несколько большей, чем максимально возможная скорость передачи информации модемом. Например, если модем поддерживает протокол V.34 (28800 бит/с), то необходимо установить скорость порта 38400, 57600, или 115200 Бод.
Часто для более устойчивой работы приложений требуется, чтобы скорость передачи по используемому порту была постоянной и не изменялась в течение сеанса связи, даже несмотря на изменение скорости передачи модемом в канале. Это условие, в частности, относится к программам, использующим в своей работе Fossil-драйверы. Такая "залочка" (lock —
замок, запирать) порта, как правило, достигается подачей команды АТ&В1 или явным заданием скорости порта в программе. В Windows'95, характеризующейся общим "отчуждением железа" от пользователя, фиксация скорости порта осуществляется установкой флажка "Only connect at this speed" в поле "Maximum speed" меню General (Control Panel\Modems\General) (рис. 13.1).
13.3.3. Формат передачи
Формат передаваемых через порт асинхронных знаков задается следующими параметрами:
> числом бит данных (7 или 8);
> числом стоповых бит (1, 1.5 или 2);
> типом проверки (на четность — Even, на нечетность — Odd, без проверки — None, проверочный бит всегда равен "1" — Mark, проверочный бит всегда равен "О" — Space).
Рис. 13.2.
Установка формата асинхронного символа в Windows'95
Наиболее широко используется формат символа, включающий в себя 8 бит данных и 1 столовый бит без использования проверки (8N1). Значения соответствующих параметров для данного формата в Windows'95 показаны на рис. 13.2.
Рис. 13.3.
Установка адреса порта и номера прерывания в терминальной программе Telix
Рис. 13.4.
Установка параметров порта в программе Term95 (NC 5.0)
13.3.4. Адрес порта и номер прерывания
При конфигурировании встроенных модемов задаются адрес порта ввода-вывода и номер линии прерывания. На рис. 13.3 и 13.4 иллюстрируется выполнение этой операции для DOS с помощью программ Telix и Term95 (терминальной программы, включенной в состав оболочки Norton Commander 5.0).
13.4. Использование FOSSIL-драйверов
FOSSIL-драйверы используются для расширения функций BIOS, обслуживающих асинхронный последовательный порт (FOSSIL — аббревиатура названий нескольких коммуникационных программ Fido/Opus/SEAdog Standard Layer). Дополнительно эти драйверы поддерживают ряд функций для работы с клавиатурой, видеоадаптером и системным таймером.
Применение FOSSIL-драйверов позволяет увеличить скорость обмена по последовательному порту до 38400 Бод, в то время как функции BIOS обеспечивают максимальную скорость передачи только 9600 Бод.
Работа FOSSIL-драйверов основана на перехвате прерываний от портов. Драйверы содержат два внутренних буфера (приемника и передатчика), организованных в виде очереди FIFO. В буфер передатчика записываются данные, передаваемые компьютером модему. Драйвер самостоятельно определяет, когда свободен регистр данных СОМ-порта, и записывает в него очередной символ данных. При этом переданный символ удаляется из буфера, и осуществляется передача следующего символа. В буфер приемника драйвер записывает данные, поступающие в компьютер через СОМ-порт. Затем содержимое этого буфера может быть считано прикладной программой при помощи специальной функции драйвера.
Существуют специальные FOSSIL-драйверы, обеспечивающие программную эмуляцию протоколов исправления ошибок. Наиболее распространенными FOSSIL-драйверами являются XOO.SYS (ХОО.СОМ) и BNU.EXE (BNU.COM). В качестве примера рассмотрим установку этих драйверов.
Для запуска драйвера из стартового файла CONFIG.SYS, в нем необходимо записать строку:
device = XOO.SYS Е 2 Т=1024 R=2048,
где Е — отключение заставки, 2 — номер СОМ-порта, Т=1024 — размер буфера для передачи, R=2048 — размер приемного буфера.
При запуске драйвера из командной строки DOS с теми же параметрами необходимо набрать следующую команду:
ХОО.ЕХЕ Е 2 Т=1024 R=2048
Драйвер BNU.EXE запускают из командной строки следующим образом:
BNU.EXE /T:1024 /R:2048 /М-,
где /Т=1024 — размер буфера для передачи, /R=2048 — размер приемного буфера, /М— — отключение заставки.
Рассматриваемые драйверы допускают фиксацию скорости порта, что оказывается полезным при использовании модемов с аппаратным сжатием передаваемых данных. При фиксации порта в команды запуска FOSSIL-драйверов добавятся следующие параметры (порт COM2, скорость фиксации 9200 Бод):
> при запуске драйвера ХОО в CONFIG.SYS:
device = XOO.SYS Е 2 Т=1024 R=2048
В,2,
19200
> при запуске драйвера ХОО из командной строки DOS:
ХОО.ЕХЕ Е 2 Т=1024 R=1024 В,2,
19200
> при запуске драйвера BNU:
BNU.EXE /R-.1024 /Т:2048 /М- /L1:19200,8N1
Для большинства модемов V.22bis (2400 Бод) с аппаратными протоколами MNP и V.42bis рекомендуется установить скорость порта 9600 Бод, для модемов V.32 (9600 Бод) - 19200 бод, а для модемов V.32bis (14400 Бод) - 19200 и выше. Максимальная скорость в этом случае зависит уже от параметров СОМ-порта.
13.5. Конфигурирование модема
Установки параметров и управление работой модема осуществляется с помощью АТ-команд. Для удобства пользователя современные коммуникационные программы используют заранее подготовленные данные о конфигурации и АТ-командах большого числа известных модемов. Если модем не входит в их число, то приходится выбирать наиболее близкий по характеристикам из списка либо самостоятельно создать строку инициализации, автоответа, отбоя и т.п., пользуясь документацией на модем.
13.5.1. Строка инициализации
Строка инициализации (init string)
задает исходный режим работы модема и состоит из ряда АТ-команд. В общем случае таких строк может быть несколько — для различных режимов соединения. Например, одна — для соединения без использования протоколов сжатия данных и исправления ошибок, другая — с использованием таких протоколов. Часто строку инициализации можно сократить, записав необходимые установки в память модема, например, командой AT&W1.
Пример строки инициализации в меню Modem Settings программы Term 95 приведен на рис. 13.5.
В операционной системе Windows'95 строка инициализации в явном виде практически никогда не задается. При инициализации модема, обслуживаемого Windows'95, посылаются команды, соответствующие установкам параметров модема.
Таблица 13.1. Протокол соединения модема
Номер раздела |
Содержимое файла ModemLog.txt |
1 |
10-06-1996 20:31:12.94 — Телефакс-модем ZyXEL U-1496xx (E,E+,S,S+), V32b (внешний) in use. 10-06-1996 20:31:13.12 — Modem type: Телефакс-модем ZyXEL U-1496xx (E,E+,S,S+), V32b (внешний) 10-06-1996 20:31:13.12 - Modem Inf path: MDMZYXEL.INF 10-06-1996 20:31:13.12 — Modem Inf section: UodemO 10-06-1996 20:31:13.47 — 19200,8.6,1 10-06-1996 20:31:14.64 — 36400Х6,1 10-06-1996 20:31:14.64 — 36400,N,6,1 |
2 |
10-06-1996 20:31:15.07 — Initializing modem. 10-06-1996 20:31:15.07 — Send: AT &F ЕО Х7<сг> 10-06-199620:31:15.26— Recv: <cr><lf>OK<crxlf> 10-06-1996 20:31:15.26 — Interpreted response: Ok 10-06-1996 20:31:15.26 — Send: AT 835.1=0 S35.7=1 <cr> 10-06-1996 20:31:15.29 — Recv: <cr><lf>OK<crxlf> 10-06-199620:31:15.29 — Interpreted response: Ok 10-06-1996 20:31:15.29 — Send: AT S46.2°1<cr> 10-06-1996 20:31:15.29 — Recv: <cr><lf>OK<crxlf> 10-06-199620:31:15.31 — Interpreted response: Ok 10-06-199620:31:15.31 —Send: ATS7-60S50-OL1 M 1 &K3'EO&K4&H3BOS41.4-1 <cr> 10-06-199620:31:15.32 — Recv: <crxlf>OK<crxlf> 10-06-199620:31:15.32 — Interpreted response: Ok 10-06-19S6 20:31:15.32 — Send: AT&N35LO<cr>
10-06-1996 20:31:15.32 — Recv: <crxlf>OK<crxlf> 10-06-1996 20:31:15.32 — Interpreted response: Ok |
3 |
10-08-199620:31:16.33 — Dialing 10-06-1996 20:31:15.33 - Send: ATDP#,#######<cr> 10-06-1996 20:31:43.06 — Recv: <crxlf>RINQINe<crxlf> 10-06-1996 20:31:43.06 — Interpreted response: Informative 10-06-1996 20:31:48.69 - Recv: <crxlf>RINQINQ<cr><lf> 104)6-1996 20:31:48.69 — Interpreted response: Informative 10-06-1996 20:31:57.64 — Hanging up the modem. 10-06-1996 20:31:57.64 — Send: <cr> 10-06-1996 20:31:56.26 — Recv: <crxlf>NO CARRIER<crxlf> 10-06-1996 20:31:56.26 — Interpreted response: No Carrier » 10-06-1996 20:31:56.26—Send: ATHO<cr> 10-06-1996 20:31:56.46 — Recv: <crx¦f>OK<crxlf> 10-06-1996 20:31:56.46 — Interpreted response: Ok |
4 |
10-06-1996 20:31:58.85 — Session Statistics: 10-06-1996 20:31:58.85 — Reads : 72 bytes 10-06-1996 20:31:58.85 — Writes: 109 bytes 10-06-1996 20:31:58.85 — Телефакс-модем ZyXEL U-1496xx (E,E+,S,S+), V32b (внешний) closed. |
Опытный пользователь может добавить свои АТ-команды в строке ввода "Extra settings" меню "Advanced Connection Settings" (рис. 13.6). В этом случае установленные пользователем команды будут посланы модему в последнюю очередь непосредственно перед набором номера и установлением соединения.
В табл. 13.1 приведен протокол (неудачного) соединения для конфигурации модема, соответствующей установкам параметров на рис. 13.1, 13.2, и 13.6. При установленном флажке "Record a log file" протокол записывается в файл ..\Windows\ModemLog.txt (рис. 13.6).
В табл. 13.1 можно выделить несколько разделов. Первый раздел содержит основные данные о модеме и параметрах порта. Второй — протокол инициализации модема. Инициализация происходит путем передачи модему нескольких наборов АТ-команд и получения от него ответов. Последними посылаются команды, набранные пользователем в строке "Extra settings" меню "Advanced Connection Settings" (в табл. 13.1 выделено жирным курсивом). После этого начинается набор номера. Протокол набора номера записывается в разделе 3. Протокол соединения одиночного вызова завершается разделом статистики (раздел 4).
Рис. 13.
6. Задание "строки инициализации" в свойствах соединения Windows'95
13.5.2. Префикс и окончание строки набора
Префикс строки набора (dial prefix)
обычно содержит команду подключения к линии (ATD) и выбора типа набора — импульсный (Р) или тональный (Т). При необходимости в префикс строки набора вводят команду задания паузы или ожидания второго ответа станции ("," или W соответственно) при внешнем или междугороднем соединении.
Окончание строки набора (dial suffix)
обычно представляет собой знак "Возврат каретки", завершающий последнюю АТ-команду ("М, то есть <Ctrl>-<M>) (см. рис. 13.5).
13.5.3. Строки автоответа и отбоя
Строка автоответа (answer string)
представляет собой АТ-команду ATSO=1'M. Строка отбоя (hang-up string)
выглядит примерно следующим образом:
——+++-—-АТН(ГМ (см. рис. 13.5). Здесь знаки "——•" задают необходимую паузу в передаче, но не менее 1 с, необходимую для переключения модема в командный режим.
13.6. Установки для факсимильной связи
Кроме перечисленных выше параметров, программы передачи факсимильных сообщений используют ряд специфических установок. К ним относятся:
> параметры управления передачей;
> параметры преобразования факсимильной информации;
> параметры приема факсов;
> параметры открывающей страницы;
> параметры аппаратных средств системы.
Для известной программы BitFax Professional Lite вариант возможных групп параметров представлен на рис. 13.7.
13.6.1. Параметры управления передачей факсов
Параметры управления передачей факсов включают в себя (рис. 13.8):
> включение/выключение передачи открывающей страницы;
> стирание/сохранение QFX-файлов после их передачи;
> основной/фоновый режим передачи;
> число повторных наборов номера;
> интервал между повторными наборами номера и ряд других.
Рис. 13.7.
Установки типичной факсимильной программы
Рис. 13.8.
Основные параметры передачи BitFax Professional Lite
13.6.2. Параметры преобразования факсимильной информации
Параметры преобразования факсимильной информации включают в себя:
> включение/выключение центровки на странице;
> установка разрешающей способности;
> включение/выключение полностраничной передачи;
> установка числа строк текста на странице (60—70);
> установка интервала табуляции (6—'10 знаков) > установка отступов сверху и снизу страницы.
13.6.3. Параметры режима приема факсов
Для задания режима приема факсов устанавливаются следующие параметры (рис. 13.9):
> идентификация приема факсов;
> основной/фоновый режим приема факсов;
> имя каталога для сохранения принимаемых факсимильных сообщений;
Рис. 3.9.
Параметры режима приемов факса
> режим ответа модема: Fax, Fax/Data или ручной;
^ число входящих звонков для ответа факс-модема и ряд ругих (рис. 13.9).
/
13.6.4. Параметры открывающей страницы
Для создания программой открывающей страницы (Cover Page)
требуется ввести информацию о пользователе:
> наименование организации;
> координаты пользователя (факс и телефон);
> фамилия и имя;
> имя графического файла, содержащего рисунок, включаемый в открывающую страницу.
13.6.5. Параметры аппаратных средств
Установка параметров аппаратных средств требуется, как правило, для программ, предназначенных для работы в операционных системах без графического интерфейса пользователя. В этом случае нужно задать:
> тип монитора;
> режим адаптера монитора;
> тип принтера;
> порт печатающего устройства.
13.7. Конфигурирование окружения коммуникационных программ
Для того, чтобы коммуникационная программа могла работать с файлами, необходима определенная установка параметров окружения:
> имена файлов и пути (имена каталогов) для сохранения различных данных, регистрационной и вспомогательной информации;
> названия и пути внешних редакторов текста и (или) изображения;
> названия и пути внешних программ просмотра текстовых и графических файлов;
> палитры и другие детали оформления пользовательского интерфейса.
Рис. 13.10.
Параметры окружения программы Qmodem Pro for Windows'95
Набор и количество конфигурационных параметров меняется в зависимости от конкретного приложения. В качестве примера на рис. 13.10 приведено меню "Options" программы Qmodem Pro for Windows'95.
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>" \ SUSERID \ 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 \ odd. \ even \ mark \ space
—
позволяет изменять схему паритета передаваемых в течении сессии асинхронных знаков. Особенности команды те же, что и двух предыдущих.
set ipaddr
— устанавливает для сессии IP-адрес.
set screen keyboard on \ 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
Клавиши PC |
Клавиши терминала |
Передаваемые символы |
Tab |
Tab |
А! |
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 Up |
Cursor Up |
^[А |
Gray Down |
Cursor Down |
-[[В |
Gray Left |
Cursor Left |
-[ID |
Gray Right |
Cursor Right |
-[[С |
Numlock |
PF1 |
л[ОР |
Pad/ |
PF2 |
A[QQ |
Pad- |
PF3 |
"[OR |
Pad— |
PF4 |
"[OS |
Pad+ |
Keypad COMMA |
Pad Enter |
Enter |
"М |
PadO |
0 |
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 |
Pad8 |
8 |
8 |
PadO |
9 |
9 |
Pad Delete |
Pad Insert |
0 |
0 |
Pad End |
1 |
1 |
Pad Down |
2 |
2 |
Pad Pagedown |
3 |
3 |
Pad Left |
4 |
4 |
Pad Clear |
5 |
5 |
Pad Right |
6 |
6 |
Pad Home |
7 |
7 |
Клавиши PC |
Клавиши терминала |
Передаваемые символы |
Pad Up |
8 |
8 |
Pad Pageup |
9 |
9 |
Shift+Backspace |
Delete Character |
D |
ShIft+Enter |
Enter |
^М |
Shitt+Gray Delete |
Delete Character |
D |
Shift+Pad / |
/ |
/ |
Shift+Pad " |
« |
* |
Shift+Pad — |
— |
— |
Shift+Pad + |
Keypad MINUS |
— |
Shift+Pad Enter |
Enter |
*М |
Shift+Pad Delete |
D |
Shift+Pad End |
Erase End of Line |
-[[К |
Shift+Pad Down |
Cursor Down |
^[В |
Shift+Pad Pagedown |
Clear Screen |
»[[H*[[2J |
Shift+Pad Left |
Cursor Left |
-[[D |
Shift+Pad Right |
Cursor Right |
W |
Shift+Pad Home |
Home Cursor |
^[H |
Shift+Pad Up |
Cursor Up |
^[A |
Shift+Pad Pageup |
Delete Line |
^[M |
Control+Backspace |
Ctrl—Backspace |
*X |
Control+Enter |
Enter |
*м |
Control+Gray Home |
Insert Line |
-[[L |
Control+Qray Pageup |
Delete Line |
"[[M |
Control+Qray Pagedown |
Clear Screen |
-4[H-4[2J |
Control+Gray Up |
Application Cursor Up |
^OA |
Control+Gray Down |
Application Cursor Down |
A[OB |
Control+Gray Left |
Application Cursor Left |
A[QD |
Control+Gray Right |
Application Cursor Right |
A[QC |
Control+Pad / |
/ |
/ |
Control+Pad • |
• |
* |
Control+Pad — |
Keypad Application MINUS |
"[Om |
Control+Pad + |
Keypad Application COMMA |
^Ol |
Control+Pad Enter |
Keypad Application Enter |
"[OM |
Control+Pad . |
Keypad Application PERIOD |
"[On |
Control+Pad 0 |
Keypad Application 0 |
*[0p |
Control+Pad 1 |
Keypad Application 1 |
A[0q |
Control+Pad 2 |
Keypad Application 2 |
"[Or |
Control+Pad 3 |
Keypad Application 3 |
*[0s |
Control+Pad 4 |
Keypad Application 4 |
'401 |
Клавиши PC |
Клавиши терминала |
Передаваемые символы |
Control+Pad 5 |
Keypad Application 5 |
A[OU |
Control+Pad 6 |
Keypad Application 6 |
A[QV |
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 |
*[0n |
Control+Pad Insert |
Keypad Application 0 |
л[0р |
Control+Pad End |
Keypad Application 1 |
*[0q |
Control+Pad Down |
Keypad Application 2 |
-ЧОг |
Control+Pad Pagedown |
Keypad Application 3 |
*[0s |
Control+Pad Left |
Keypad Application 4 |
^Ot |
Control+Pad Clear |
Keypad Application 5 |
*[0u |
Control+Pad Right |
Keypad Application 6 |
*[0v |
Control+Pad Home |
Keypad Application 7 |
^Ow |
Control+Pad Up |
Keypad Application 8 |
'40X |
Control+Pad Pageup |
Keypad Application 9 |
*[0y |
ShIft+Control+Enter |
Enter |
*M |
ShIft+Control+Pad Enter |
Enter |
*M |
ShIft+Control+Pad Down |
Application Cursor Down |
^OB |
ShIft+Control+Pad Left |
Application Cursor Left |
»[OD |
ShIft+Control+Pad Right |
Application Cursor Right |
*[OC |
ShIft+Control+Pad Home |
Insert Line |
-[[L |
ShIft+Control+Pad Up |
Application Cursor Up |
^OA |
Таблица 13.5. Управляющие последовательности для терминалов Wyse 100
Клавиши PC |
Клавиши терминала |
Передаваемые символы |
Tab |
Tab |
л¦ |
F1 |
Function 1 (F1) |
'^О'^ |
F2 |
Function 2 (F2) |
-W^M |
F3 |
Function 3 (F3) |
"АВ^ |
F4 |
Function 4 (F4) |
^С^ |
F5 |
Function 5 (F5) |
'•W^M
|
F6 |
Function 6 (F6) |
"АЕ*!^ |
F7 |
Function 7 (F7) |
"AF^ |
F8 |
Function 8 (F8) |
"AG^ |
F9 |
Line Insert |
-ЧЕ |
F10 |
Line Delete |
<[R |
Backspace |
Backspace |
*н |
Enter |
Enter |
^М
|
Gray Insert |
Insert Off |
^г |
Gray Delete |
Insert Space Character |
*[Q |
Gray Home |
Home Cursor |
лл |
Gray End |
Erase End of Line |
^т |
Gray Pageup |
Scrl Up |
*[w |
Gray Pagedown |
Scrl Down |
АГу |
Gray Up |
Cursor Up |
*K |
Gray Down |
Cursor Down |
*J |
Gray Left |
Cursor Left |
^ |
Gray Right |
Cursor Right |
"L |
Pad/ |
/ |
/ |
Pad' |
• |
« |
Pad— |
— |
— |
Pad+ |
+ |
+ |
Pad Enter |
Enter |
"M |
Pad. |
PadO |
0 |
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 |
Pad8 |
8 |
8 |
Pad 9 |
9 |
9 |
Pad Delete |
Insert Space Character |
*[Q |
Pad Insert |
Insert Off |
-Чг |
Pad End |
Erase End of Line |
^Т |
Pad Down |
Cursor Down |
*J |
Pad Pagedown |
Scrl Down |
Л[у |
Pad Left |
Backspace |
'»H |
Pad Right |
Cursor Right |
-^ |
Pad Home |
Home Cursor |
АЛ |
Pad Up |
Cursor Up |
Ж |
Pad Pageup |
Scrl Up |
"[w |
Shift+Tab |
Back tab |
*[! |
Shift+F1 |
Function 9 (Shift F1) |
"WM
|
Shift+F2 |
Function 10 (Shift F2) |
"А^М |
Shift+F3 |
Function 11 (Shift F3) |
"А^М
|
Shift+F4 |
Function 12 (Shift F4) |
^«"М |
Shitt+F5 |
Function 13 (Shift F5) |
"AL^ |
Shift+F6 |
Function 14 (Shift F6) |
"АМ-Ч^ |
Shift+F7 |
Function 15 (Shift F7) |
"АГ^М |
Shift+F8 |
Function 16 (Shift F8) |
W^M |
Shift+F9 |
Shift Line Insert |
^t |
Shift+Gray Delete |
Delete Character |
A[W |
Shift+Gray Home |
Cursor to Start of Text |
"К |
Shift+Gray End |
Page Erase |
лгу |
Shift+Gray Pageup |
Insert On |
^[q |
Shift+Pad Delete |
Delete Character |
A[W |
Shift+Pad Insert |
Insert On |
A[q |
Shift+Pad Left |
Erase End of Page |
лгу |
Shift+Pad Home |
Cursor to Start of Text |
^ |
Control+Backspace |
Rubout |
D |
Control+Enter |
Enter |
"M |
Control+Pad / |
/ |
/ |
Control+Pad " |
* |
* |
Control+Pad — |
— |
— |
Control+Pad + |
+ |
+ |
Control+Pad Enter |
Enter |
"M |
Control+Pad . |
Control+Pad 0 |
Insert Space Character |
"[0 |
Control+Pad 1 |
Line Erase |
^T |
Control+Pad 2 |
Cursor Down |
"J |
Control+Pad 3 |
Scrl Down |
Л[у |
Control+Pad 4 |
Backspace |
"H |
Control+Pad 6 |
Cursor Right |
"L
|
Control+Pad 7 |
Home Cursor |
АЛ |
Control+Pad 8 |
Cursor Up |
^ |
Control+Pad 9 |
Scrl Up |
"[w |
Control+Pad Delete |
Control+Pad Insert |
0 |
0 |
Control+Pad End |
1 |
1 |
Control+Pad Down |
2 |
2 |
Control+Pad Pagedown |
3 |
3 |
Control+Pad Lett |
4 |
4 |
Control+Pad Clear |
5 |
5 |
Control+Pad Right |
6 |
6 |
Control+Pad Home |
7 |
7 |
Control+Pad Up |
8 |
8 |
Control+Pad Pageyp |
9 |
9 |
|