logo
стр 103-113

Связь двух компьютеров

А теперь предположим, что пользователь другого компьютера хотел бы распечатать текст. Сложность состоит в том, что к его компьютеру не подсоединен принтер, и требуется воспользоваться тем принтером, кото­рый связан с другим компьютером.

Рис. 15.2 Связь двух компьютеров

Программа, работающая на одном компьютере, не может получить непосредственный доступ к ресурсам другого компьютера — его дискам, файлам, принтеру. Она может только "попросить" об этом другую про­грамму, выполняемую на том компьютере, которому принадлежат эти ре­сурсы. Эти "просьбы" выражаются в виде сообщений, передаваемых по каналам связи между компьютерами. Такая организация печати называ­ется удаленной.

Предположим, что мы связали компьютеры по кабелю через СОМ-порты, которые, как известно, реализуют интерфейс RS-232C (такое соединение часто называют нуль-модемным).

Полное название интерфейса RS-232 звучит так: «интерфейс между терминальным оборудованием и оборудованием передачи данных, обеспечивающий последовательную передачу данных», т.е. DTE-DCE. На текущий момент наиболее популярной версией интерфейса RS-232 является версия C, которая называется RS-232C. 25-ти контактный RS-232C обладает следующими недостатками: отсутствие функций по управлению потоком, ограничения по максимальной длине связи50 футов, ограничения связанные с заземлением. Новая версия RS-232E призвана вытеснить версии C и D.

Связь между ком­пьютерами осуществляется аналогично связи компьютера с ПУ. Только теперь контроллеры и драйверы портов действуют с двух сторон. Вмес­те они обеспечивают передачу по кабелю между компьютерами одного байта информации. (В "настоящих" локальных сетях подобные функ­ции передачи данных в линию связи выполняются сетевыми адаптера­ми и их драйверами.)

Итак, механизм обмена байтами между двумя компьютерами опре­делен. Теперь нужно договориться о правилах обмена сообщениями между приложениями А и В. Приложение В должно "уметь" расшифровать получаемую от приложения А информацию. Для этого программисты, разрабатывавшие приложения А и В, строго оговаривают форматы сооб­щений, которыми будут обмениваться приложения, и их семантику. Например, они могут договориться о том, что любое выполнение удален­ной операции печати начинается с передачи сообщения, запрашивающе­го информацию о готовности приложения В; что в начале сообщения идет число, определяющее длину данных, предназначенных для печати; что признаком срочного завершения печати является определенная кодовая комбинация и т.п. Тем самым, как будет показано дальше, определяется протокол взаимодействия приложений.

Вернемся к последовательности действий, которые необходимо вы­полнить для распечатки текста на принтере "чужого" компьютера.

Мы рассмотрели последовательность работы системы при передаче только одного сообщения от приложения А к приложению В. Однако по­рядок взаимодействия этих двух приложений может предполагать неод­нократный обмен сообщениями разного типа. Например, после успеш­ной печати строки (в предыдущем примере) согласно правилам, прило­жение В должно послать сообщение-подтверждение. Это ответное сооб­щение приложение В помещает в буферную область оперативной памяти, а далее с помощью драйвера СОМ-порта передает его по каналу связи в компьютер А, где оно и попадает к приложению А.