Программирование модемов
© Александр Фролов, Григорий Фролов
Том 4, М.: Диалог-МИФИ, 1993, 236 стр.
8.1. Электронная доска объявлений
BBS (Bulletin Board System - электронная доска объявлений) -
это компьютер, снабженный одним или несколькими
модемами, на котором выполняется специальная
программа. Эта программа дает возможность
удаленным пользователям связываться с ней по
телефонным линиям и выполнять обмен файлами и
сообщениями.
Большинство станций BBS объединены в сеть FidoNet.
Сеть FidoNet представляет собой международную
некоммерческую сеть пользователей компьютеров
многих стран. Не надо путать BBS и FidoNet. Станции BBS
могут не входить в FidoNet, и, в свою очередь, узлы
FidoNet могут не иметь BBS, а использоваться только
для пересылки почты.
В этой книге мы коснемся только станций BBS и не
будем рассматривать сеть FidoNet, так как эта сеть
сама может явиться предметом для отдельной
книги.
Допустим, вы установили модем на вашем
компьютере и решили позвонить на BBS. Для этого вы
можете воспользоваться любой
телекоммуникационной программой - MTE, COMIT, BITCOM.
Если ваш модем не имеет аппаратной коррекции
ошибок, то лучше использовать MTE или другую
программу, имеющую возможность эмуляции MNP
(например, COMIT).
Телефоны станций BBS вы можете взять из
приложения к этой книге, но учтите, что некоторые
станции могут быть закрыты или могут изменить
рабочее время. Лучше предварительно позвонить
голосом и узнать время работы данной BBS.
Хотя различные BBS используют различные
программы для организации своей работы - TPBoard,
Allan's Kakboard, QuickBBS, Phoenix, Opus, Maximus и т.д., фактически все
они имеют одинаковый набор команд. Мы рассмотрим
станции BBS, использующие программу Maximus.
Maximus организует диалог с пользователем,
позволяет пользователю получить адресованные
ему сообщения (почту), отправить почту другим
пользователям данной станции BBS или сети FidoNet
(если данная BBS входит в эту сеть).
Пользователь BBS получает возможность
просматривать архивы файлов BBS, переписывать
себе интересующие его файлы, передавать на BBS
свои файлы, которые могут кого-нибудь
заинтересовать.
Итак, вы звоните на BBS. В большинстве случаев
после соединения с BBS на вашем дисплее появится
следующее сообщение:
CONNECT 2400
FrontDoor 2.02; Noncommercial version
Press Escape twice for Maximus
Maximus is being loaded.
Оно означает, что станция является узлом FidoNet и
на ней выполняется специальная почтовая
программа FrontDoor. Вам предлагается нажать два раза
на клавишу Esc для загрузки программы Maximus, которая
и будет далее поддерживать диалог с вами.
Если в это время станция работает только для
обмена почтой в сети FidoNet, то на экране появится
другое сообщение:
CONNECT 2400
FrontDoor 2.02; Noncommercial version
Mail-only system. Please hang up.
Если BBS работает, то через некоторое время на
ней запустится программа Maximus и на вашем экране
появится заставка - информация о данной BBS,
которая может включать номера телефонов,
расписание работы, фамилию системного оператора.
Затем BBS попросит вас ввести свое имя и фамилию.
Если вы входите на BBS первый раз, то у вас будут
запрошены некоторые сведения, например истинные
имя и фамилия, рабочий и домашний телефоны, тип
используемого вами терминала.
Под типом терминала понимается возможность
распознавать те или иные управляющие символы.
Обычно вам предоставляется выбор из двух
возможных типов терминалов - TTY и ANSI.
TTY представляет собой наиболее простой тип
терминала. Он не позволяет управлять цветом
символов, выводимых на экран и устанавливать
курсор в заданную позицию. TTY использует
следующие управляющие символы:
- \r (CR) - возврат каретки;
- \n (LF) - новая строка;
- \v (VT) - вертикальная табуляция;
- \t (HT) - горизонтальная табуляция;
- \f (FF) - очистка экpана и пеpевод куpсоpа в веpхний
левый угол экрана.
ANSI - это более универсальный тип терминала. Он
поддерживает управление положением курсора, а
также цветом символов и фоном символов.
Управление цветом и положением курсора
обеспечивется специальными
Escape-последовательностями.
Несмотря на привлекательность использования
терминала ANSI - надо иметь в виду, что передача
управляющих символов занимает определенное
время и общая скорость работы с BBS может
уменьшиться.
После такой процедуры регистрации вас попросят
выбрать себе пароль и вы автоматически
становитесь пользователем данной BBS. При
последующих входах на эту BBS используйте то же
имя и фамилию, что и в первый раз. Программа на BBS
отыщет ваше имя в списке пользователей и
предложит вам ввести пароль, определенный при
первом вхождении в систему.
Главное меню BBS
Когда система наконец признает в вас своего
пользователя, на экран будет выведено основное
меню:
MAIN:
M)essage Areas F)ile Areas R)egistration X)tras Menu
C)hange Setup B)lue Wave Menu O)ff-line reader S)tatistics
Y)ell for SysOp W)ho is On /)Chat Menu G)oodbye (log off)
?)help
Select:
Теперь кратко опишем основные элементы
главного меню:
Message Areas
Выбрав этот элемент основного меню, вы
переходите в область сообщений. На экране
отобразится меню работы с сообщениями, из
которого вы сможете просмотреть, послать или
принять сообщения.
File Areas
Выбрав этот элемент основного меню, вы
переходите в файловую область BBS. При этом на
экране отобразится меню для работы с файлами. Из
него вы сможете просмотреть список файлов,
имеющихся на BBS, принять или передать на BBS
интересующие вас файлы.
Change Setup
При выборе этого элемента меню вы сможете
изменить ваше имя, пароль, номера телефонов, тип
терминала, который вы используете.
Goodbye
Когда вы закончили сеанс работы с BBS, выберите
этот элемент меню. При этом BBS спросит у вас,
действительно ли вы желаете закончить сеанс
работы, и предоставит вам возможность послать
сообщение системному оператору.
Statistics
Эта команда отображает на экране статистику
вашей работы с BBS: время, отведенное на этот сеанс,
время которое вы уже проработали с системой и
оставшеся время. Также выводится информация о
размерах принятой и переданной вами информации,
а также сколько еще килобайт вы можете
перекачать себе сегодня.
Your statistics for Oct 14, 92 02:11AM
TIME
Time on line, this call.......... 7 minutes
Time remaining for this call..... 33 minutes
Calls to date.................... 8
Last call to this system : 11 Oct 92
FILES
Total kilobytes downloaded : 386
Total kilobytes uploaded : 279
Today download : 65
DL available for today : 400
Yell
При помощи этой команды можно попробовать
вызвать системного оператора, если он находится
поблизости от BBS и пожелает вступить в
переговоры. Если вам повезет, вы сможете с
помощью клавиатуры передать ему сообщение и
получить ответ.
Userlist
Данная команда выдает на экран список
зарегистрированных пользователей BBS.
Version
Команда выдает на экран информацию о
программном и аппаратном обеспечении станции BBS.
Файловая область
Если вы хотите просмотреть архив файлов
станции BBS и скопировать себе нужные вам файлы,
необходимо перейти в файловую область BBS. Для
этого в главном меню выберите элемент File Areas. При
этом на экране отображается файловое меню:
The FILES Section 21:01:27
File area 11 ... Local Area Networks
FILE:
A)rea change L)ocate a file F)ile titles V)iew text file
D)ownload (receive) U)pload (send) S)tatistics C)ontents (archive)
T)ag (queue) files N)ew files scan /)Split File W)hat's In There
B)est Files =) All Files List +) New Files List J)ump to msg. areas
M)ain menu G)oodbye (log off) ?help
Select:
Рассмотрим наиболее важные команды из этого
меню.
Area Change
Файловая область BBS обычно разбита по тематике
на несколько областей. Это может быть область,
содержащая файлы документации, программы,
различные полезные утилиты и т.п.
Выбрав Area Change, можно изменить текущую файловую
область, т.е. область с которой можно выполнять
обмен файлами. При этом на экране отображается
список файловых областей на BBS:
File Areas --------------
1 ... Miscellaneous Info 2 ... Mailer/BBS Software
3 ... FidoNet(tm) Files 4 ... Communications Software
5 ... Antiviral Software 6 ... MS-DOS Utilities
7 ... Software Development 8 ... Document Files
9 ... MS Windows Files 10 ... Data Base Management Systems
11 ... Local Area Networks 12 ... Electronics Work Shop
31 ... -SDS- General Software 32 ... -SDS- FrontDoor
33 ... -SDS- Maximus 34 ... -SDS- RemoteAccess
51 ... -PDN- News and Magazines 52 ... -PDN- BASIC Related Files
53 ... -PDN- PASCAL Related Files 54 ... -PDN- C/C++ Related Files
55 ... -PDN- Miscellaneous Files 60 ... Product Market Place
61 ... File Transfer Area 71 ... FidoNet(tm) Tech Standards
81 ... Temporary File Area (Line 1) 82 ... Temporary File Area (Line 2)
File area [Area #, '['=Prior, ']'=Next, '?'=List]:
Далее вы можете выбрать интересующую вас
область, набрав ее номер (идентификатор).
Locate
Команда осуществляет поиск файла по всем
файловым областям BBS. При этом поиск происходит в
списках файлов по заданной подстроке. То есть
можно искать файл как по его имени, так и по его
описанию.
File Titles
Команда выводит на экран список файлов с их
описаниями из текущей области.
Type
С помощью этой команды можно просмотреть
текстовый файл на BBS не загружая его к себе на
компьютер.
Goodbye
Команда аналогична команде Goodbye главного меню
системы.
Main Menu
Команда используется для перехода в главное
меню.
Download
Команда Download предназначена для получения
файлов с BBS. После выбора этой команды BBS запросит
у вас протокол (из поддерживаемых данной BBS),
которым вы собираетесь воспользоваться для
передачи файла. Вы должны выбрать протокол,
который поддерживает ваша телекоммуникационная
программа.
После выбора протокола обмена BBS запросит у вас
имена файлов, которые вы хотите себе переписать.
Если вы используете протокол типа Xmodem, который
может передавать только по одному файлу за раз,
вы можете задать только один файл. Для перекачки
других файлов вы опять должны выбрать Download. Если
вы используете новые протоколы типа Zmodem, можно
принимать за раз несколько файлов.
Если вы исчерпали лимит объема данных,
доступных для приема, или лимит времени, BBS
откажется передавать файл. В этом случае вы
можете либо перезвонить в следующий раз, либо
разбить файл на несколько более мелких файлов
командой Split. Если вы превысили объем принимаемых
файлов, то вам надо вспомнить о команде Upload и
передать на BBS любые "достойные" того файлы.
Дело в том, что многими BBS поддерживается
определенная пропорция при обмене файлами. И
объем доступных для получения от BBS файлов
зависит от объема файлов, переданных на BBS.
Если BBS готова передать вам файл, то она
предлагает вам запустить свою программу приема
файла. После этого вы должны запустить протокол
приема файла вашей коммуникационной программы.
Отметим, что протокол выбранный для приема
файла вашей коммуникационной программой, должен
соответствовать протоколу, выбранному для
передачи файлов с BBS.
Upload
Эта команда применяется для передачи файлов на
BBS. Как и в случае команды Download, BBS запрашивает у
вас название протокола для передачи файла и имя
самого передаваемого файла. И после этого
предлагает вам запустить собственную программу
передачи.
Заметим, что на многих BBS время, затраченное на
передачу файла BBS, компенсируется - BBS увеличивает
время, отпущенное вам на данный сеанс.
Statistics
Команда аналогична команде Statistics из главного
меню системы.
Contents
При помощи этой команды вы можете просмотреть
содержимое архива. Обычно эта команда
поддерживает все наиболее распространенные
форматы архивов (zip, arc, arj, lha).
Область сообщений
Если из главного меню вы выберете элемент Message
Areas, то окажетесь в области сообщений и сможете
работать с электронной почтой. При этом на экране
появится следующее меню:
MESSAGE:
A)rea change N)ext message P)revious message E)nter message
R)eply to a messag B)rowse messages C)hange current ms =)ReadNonStop
-)ReadOriginal +)ReadReply *)ReadCurrent L)ist (brief)
T)ag areas K)ill (delete) msg U)pload a message F)orward (copy)
J)ump to file area M)ain menu G)oodbye (log off) ?)help
Select:
В этой области находятся сообщения (письма)
пользователей друг к другу. Находясь в области
сообщений, вы сможете прочитать сообщения,
переданные другими пользователями, а также
написать и отправить свое собственное сообщение.
Область сообщений BBS, так же как и файловая
область, может быть разделена на несколько
тематических областей. Тематика этих областей
может быть весьма различна - от личных писем и
обмена мнениями по языкам программирования до
политики и анекдотов.
Если BBS, на которую вы позвонили, является узлом
сети FidoNet или какой нибудь другой сети, то вы
сможете отправить сообщение не только
пользователям данной BBS, но также и на другие
станции. В общем случае все сообщения можно
разделить на три класса:
- Local - локальные, то есть эти сообщения доступны
только пользователям данной BBS.
- EchoMail - конференции (эхо-область). Сообщения,
помещенные вами в эту область, будут
автоматически рассылаться по всем станциям, к
которым подключена BBS. Кроме того, конференции
могут быть как локальными (внутри одного города,
страны), так и международными.
- NetMail - область почты, почтовая область. В эту
область передаются сообщения, которые вы желаете
отправить пользователю конкретной BBS. Для этого
вам надо знать ее почтовый адрес.
Теперь рассмотрим подробнее отдельные команды
из меню сообщений.
Area Change
Команда Area Change позволяет пользователю изменить
текущую область сообщений на другую. После ввода
этой команды система запросит идентификатор
(обычно несколько цифр и букв) области сообщений,
к которой вы желаете перейти.
Если вы не знаете, какие области сообщений есть
на данной BBS, то можно получить их список, введя
знак вопроса - '?'. Кроме того, можно переключиться
на следующую или предыдущую область сообщений,
введя знак ']' или '['.
Обратите особое внимание на то, что, когда вы
посылаете свое сообщение на BBS при помощи команды
Upload, оно помещается в текущую область.
После того как вы введете идентификатор
области сообщений, на экране будет отображена
информация о текущей области: сколько сообщений
она содержит и т.д.
Далее вы сможете в меню сообщений (строка
"Select") ввести номер сообщения, которое вы
хотите отобразить на экране. После ввода номера
сообщения оно становится текущим.
После выхода из BBS система запоминает текущую
область сообщений и номер текущего сообщения.
При повторном входе на BBS это сообщение также
будет текущим.
Next
Команда Next позволяет просмотреть следующее
после текущего сообщение. При этом оно
становится текущим. Далее для просмотра
последующих сообщений вам достаточно просто
нажать клавишу Enter.
Previous
В противоположность команде Next, эта команда
отображает на экране предыдущее сообщениие. При
этом оно также становится текущим и для
дальнейшего перехода к сообщениям с меньшим
номером вам достаточно просто нажимать на
клавишу Enter.
Enter a Message
Данная команда позволяет вам послать свое
сообщение в текущую область сообщений на BBS.
После ввода команды система запросит у вас
описание вашего сообщения: кому предназначено,
от кого посылается и к какой теме относится.
--------------------------------------------------------
Msg#: 501 of 500
From: Frolov G.V. 17-Oct-92 19:42:36
To: 17-Oct-92 19:42:36
Subj:
--------------------------------------------------------
В том случае, если вы отправляете сообщение в
область NetMail, у вас также будет запрошен адрес, по
которому вы хотите послать сообщение.
Далее вам предоставляется возможность ввести
само сообщение и передать его на BBS.
Reply to Message
Команда Reply to Message используется для передачи на
BBS ответа на текущее сообщение. В основном эта
команда сходна с командой Enter за исключением
того, что некоторые поля (To, Subject) в заголовке
сообщения будут заполнены автоматически.
--------------------------------------------------------
Msg#: 501 of 500 - 428
From: Frolov G.V. 17-Oct-92 19:42:56
To: Rick Murray 17-Oct-92 19:42:56
Subj: SoundBlaster
--------------------------------------------------------
Дополнительно эта команда позволяет
использовать режим цитирования, когда в ваше
сообщение вставляются строки из текущего
сообщения, на которое вы отвечаете.
Read Non-Stop
При вводе этой команды система начинает
отображать на экране все сообщения, начиная с
текущего. При этом между сообщениями отсутствуют
паузы.
Read Original
Если текущее сообщение является ответом на
другое сообщение, то вы можете переключиться на
него с помощью команды Read Original.
Read Reply
Если текущее сообщение имеет ответ, то для того,
чтобы на него переключиться, надо ввести команду
Read Reply.
У сообщений, имеющих ответ, в нижней части
экрана отображается надпись "*** See also #n"
(смотри также #n), где n - номер ответного сообщения.
List
Данная команда позволяет вывести на экран
список сообщений из текущей области сообщений.
При этом для каждого сообщения указывается его
номер, от кого оно пришло, кому предназначено и
какова его тематика.
Scan
Команда выводит на экран список сообщений,
которые имеют к вам прямое отношение, то есть
либо написаны вами, либо предназначены для вас.
Inquire
Команда позволяет осуществить поиск сообщения,
которое имеет в своем заголовке определенную
вами подстроку.
Goodbye
Эту команду необходимо выбрать, когда вы решите
окончить сеанс связи.
Main Menu
Команда Main Menu используется для перехода в
главное меню.
Kill a Message
Команда предназначена для стирания сообщений с
диска BBS. После ввода команды система предлагает
вам ввести номер сообщения, которое вы желаете
удалить. Если вы хотите удалить текущее
сообщение, то можете нажать клавишу '='.
Сразу отметим, что удалить вы можете только те
сообщения, которые сами послали.
Upload a Message
Команда Upload a Message позволяет вам передать на BBS
заранее подготовленное сообщение. Сообщение
должно быть предварительно оформленно в виде
текстового файла.
Forward
Команда Forward предоставляет возможность
скопировать уже существующее на BBS сообщение
другому пользователю или в другую область
сообщений.
|