Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Labor.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
586.75 Кб
Скачать

1.3. Связь двух компьютеров стандартными программными средствами

Между двумя персональными компьютерами типа IBM PC может быть установлена связь через последовательный порт при помощи надоперационной оболочки Norton Commander. При этом один из компьютеров получает статус Ведущий (Master), а другой статус Ведомый (Slave). При установлении связи Ведомый (Slave) представляется в Ведущем (Master) как одна из панелей NC.

Порядок установления связи следующий:

  1. С помощью четырех- или трёхпроводной линии связи соединить последовательные порты компьютеров.

  2. Перейти, используя комбинацию клавиш Ctrl+Esc, в режим эмуляции MS-DOS (но не сеанса MS-DOS). Применяя команды MS DOS (cd <путь> − смена текущего каталога, dir <путь> − распечатка каталога), запустить надоперационную оболочку Norton Commander (файл NC.EXE в каталоге C:\NCC).

  3. На обоих компьютерах запускают Norton Commander, переходят в главное меню (клавиша F9), выбирают панель (Rigth (Правая) или Left (Левая)) и нажимают на клавишу Enter. Указатель устанавливают в появившемся окне на пункт Link (Связь) и нажимают клавишу Enter. В результате в центре экрана появляется окно серого цвета с заголовком Commander Link (Связь через порт). Указатель в пределах этого окна перемещается клавишами: Tab, Shift-Tab и 4-мя клавишами-стрелками.

3. Вначале на Ведомом (Slave), а затем на Ведущем (Master) устанавливается режим Ведущий (Master) или Ведомый (Slave) и выбирается порт связи (COM1 или COM2).Для этого нужно активизировать соответствующую опцию, нажав клавишу Space (пробел). В результате внутри круглых скобок появится точка. Наконец, нужно установить указатель на кнопку Link (Связь) и нажать клавишу Enter.

4. В результате появляется возможность выполнения копирования, сдвига, удаления файлов и некоторых других действий. На Ведомом (Slave) компьютере при этом появится информация о протекании процесса копирования.

5. Для прекращения связи следует на Ведущем (Master) компьютере нажать на клавишу F9, установить указатель на пункт меню Link (Связь) и дважды нажать на клавишу Enter.

6. Для возврата из MS-DOS в Windows следует подать команду exit.

2. Аппаратное и программное обеспечение

  1. ПЭВМ класса IBM PC или выше с последовательным портом типа COM1 или COM2.

  2. Трёх- или четырёхпроводный кабель связи COM-COM.

  3. Система программирования Borland C++ 3.1.

3. Домашнее задание

  1. Ознакомится с настоящими методическими указаниями.

  2. Заготовить бланк отчёта.

  3. Разработать обобщённые схемы алгоритмов работы программы.

  4. Подготовить код программы.

4. Порядок выполнения работы

Вариант 1.

  1. Соединить, если последует указание преподавателя, у указанных компьютеров порты последовательной связи COM линией связи COM-COM при выключённых компьютерах как показано на рис. 4. Затем включить компьютеры.

C OM COM

Рис. 4. Схема соединения персональных компьютеров

(“точкаточка”)

  1. Пользуясь надоперационной оболочкой Norton Commander, измерить время передачи файлов между компьютерами (время передачи будет включать в себя время считывания файла с диска, время пересылки по линии связи и время записи файла на диск). Для измерений выберите файл такой длины, чтобы полное время передачи файла находилось в диапазоне 10-30 секунд. Вычислить эффективную скорость передачи. Результат предъявить преподавателю.

  2. Разработать программу передачи данных между компьютерами с побайтовой проверкой правильности. При этом Ведущий компьютер, используя генератор псевдослучайных чисел в диапазоне 32-255, посылает в адрес Ведомого компьютера байт и ожидает от последнего ответный байт. Получив его, Ведущий компьютер печатает оба байта в одну строку на экране дисплея. Сравнив оба байта, Ведущий компьютер посылает следующий байт, если байты одинаковы, или повторяет посылку того же байта, если байты оказались неодинаковыми. Ведомый компьютер принимает байт от Ведущего, печатает его мониторе и ожидает ввода с клавиатуры ответного байта (символа). Ответный байт Ведомый компьютер посылает в адрес Ведущего. Результат предъявить преподавателю.

Указание. Рекомендуется на первом этапе упростить поставленную задачу − пусть Ведущий вначале лишь посылает байты в линию связи и печатает их на экране своего монитора, а Ведомый компьютер − лишь принимает байты из линии связи и печатает их на своём мониторе. Затем алгоритм работы программы можно и усложнить.

  1. Экспериментальным путём определить максимально возможную скорость передачи информации через порт последовательной связи. Для этого следует, изменяя скорость передачи от минимальной к максимальной, определить то значение скорости передачи, при которой передача осуществляется без сбоев. При выполнении этого пункта использовать массив из 256 байт псевдослучайных чисел, расположенных в диапазоне 32-255. Передачу считать не имеющей сбоев, если контрольная сумма (сумма значений всех байтов) посланного массива совпадает с контрольной суммой принятого массива. Значения контрольных сумм печатать на мониторах Ведущего и Ведомого компьютеров. Результат предъявить преподавателю.

  2. Разработать программу передачи файлов с одного компьютера на другой. С её помощью измерить максимальную скорость передачи того же самого файла, что и в п. 2. Максимальной скоростью передачи считать ту, при которой канал связи еще обеспечивает правильность передачи. Контроль правильности передачи выполнять, как в п. 4, но контрольную сумму подсчитывать уже для всего файла. Результат предъявить преподавателю.

Вариант 2.

  1. Соединить, если последует указание преподавателя, у указанных компьютеров порты последовательной связи COM линией связи COM-COM при выключённых компьютерах как показано на рис. 5. Затем включить компьютеры.

  2. Пользуясь надоперационной оболочкой Norton Commander, измерить время передачи файлов между двумя соседними компьютерами (время передачи будет включать в себя время считывания файла с диска, время пересылки по линии связи и время записи файла на диск). Для измерений выберите файл такой длины, чтобы полное время передачи файла находилось в диапазоне 10-30 секунд. Вычислить эффективную скорость передачи. Результат предъявить преподавателю.

  3. Разработать программу передачи вводимых с клавиатуры символов крайних компьютеров на мониторы наиболее удалённых от них, т. е. символы, вводимые с клавиатуры крайне левого (см. рис. 5) компьютера печатаются на мониторе крайне правого компьютера и наоборот. Результат предъявить преподавателю.

COM COM

COM COM

Рис. 5. Схема соединения персональных компьютеров

(звездообразная топология)

Вариант 3.

    1. Соединить, если последует указание преподавателя, у указанных компьютеров порты последовательной связи COM линией связи COM-COM при выключённых компьютерах как показано на рис. 6. Затем включить компьютеры.

COM COM COM COM

COM COM

Рис. 6. Схема соединения персональных компьютеров

(кольцевая топология)

    1. Пользуясь надоперационной оболочкой Norton Commander, измерить время передачи файлов между двумя соседними компьютерами (время передачи будет включать в себя время считывания файла с диска, время пересылки по линии связи и время записи файла на диск). Для измерений выберите файл та-

кой длины, чтобы полное время передачи файла находилось в диапазоне 10-30 секунд. Вычислить эффективную скорость передачи. Результат предъявить преподавателю.

    1. Разработать программу передачи символов, вводимых с клавиатуры компьютера, на монитор одного из соседних. При этом каждому из компьютеров следует присвоить условный номер, а посылаемый байт дополнять ещё двумя − условным номером компьютера-получателя и служебным байтом, значение которого компьютер-получатель меняет после успешного приёма и печати на экране дисплея принятого символа. Информация в данном случае распространяется по кольцу − компьютер-отправитель, получив собственную посылку (но с изменённым служебным байтом), выводит на собственном мониторе. Результат предъявить преподавателю.

Примечание. При составлении программ рекомендуется использовать библиотечные функции, синтаксис которых представлен ниже:

unsined char inportb(unsigned int port); − читает байт из порта (регистра) ввода port - функция определена в файле dos.h;

void outportb(unsigned int port, unsigned char byte); − записывает байт byte в порт (регистр) вывода port - функция определена в файле dos.h;

int read(int handle, void *buffer, unsigned int count); − читает count байтов (но не более 65534) из файла, связанного с дескриптором handle, в область памяти, адрес которой определяется параметром buffer - функция определена в файле io.h;

int write(int handle, void *buffer, unsigned int count); − записывает count байтов (но не более 65534) из области памяти, адрес которой определяется значением параметра buffer, в файл, связанный с дескриптором handle - функция определена в файле io.h;

long filelength(int handle); − возвращает длину в байтах файла, связанного с дескриптором handle - функция определена в файле io.h;

int fileno(FILE *stream); − возвращает значение дискриптора handle, используемого функциями read, write, filelength и связанного с указателем на файл stream - функция определена в файле stdio.h;

int rand(void); − возвращает псевдослучайное число – функция определена в файле stdlib.h;

int bioskey(int cmd); − возвращает код нажатой клавиши, если значение параметра cmd=0 и проверяет есть ли символ в буфере ввода (можно ли его немедленно считать), если значение параметра cmd=1. Функция bioskey() определена в файле bios.h;

int getch(void) −возвращает код нажатой клавиши без эхо-повтора его на экране монитора. Функция getch() определена в файле conio.h.

К сведению. Для получения информации о библиотечной функции Borland C++ 3.1 достаточно набрать в рабочей области её имя, подвести под набранное имя курсор и нажать комбинацию клавиш Ctrl+F1. Появится информация о синтаксисе и пример использования функции.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]