Служба спасения студентов
Служба спасения для студентов

СибГУТИ Лабораторная работа 2 Сетевое программирование скачать бесплатно

Скачать бесплатно
Задание
Лабораторная работа № 2. Программирование обменов в локальной сети
IPX/SPX.  
Цель работы: Приобрести навыки сетевого программирования обменом данными в локальных сетях на основе протокола IPX/SPX. 
Теория 
Для выполнения лабораторной работы необходимо изучить содержимое главы 7 теоретического материала по сетевому программированию. 
Порядок выполнения работы: 
Для программирования в среде DOS можно воспользоваться виртуальной машиной, например, Dosbox, который поддерживает работу с IPX- протоколом, установив С++ в среде DOS.
В процессе выполнения данной лабораторной работы необходимо разработать и реализовать программу пересылки пакета данных между машинами в ответ на запрос. Пакет данных должен содержать полное имя текущей директории, где находится программа вывода пакета данных. Вышестоящая директория должна содержать фамилию студента в латинской раскладке. Программу разместить в разных директориях и запускать в двух разных окнах.  
Пример реализации программы передачи сообщения в среде DOS представлен в п.7.2 теоретического материала.
Выбор среды программирования студент осуществляет самостоятельно.
Текст программы
...

Описание работы программы
Программа отлаживалась на одной машине. Фактическое взаимодействие по протоколу IPX происходит между двумя программами на одной машине (program1.exe и program2.exe).
Программа program1.exe в качестве сокета для приема использует сокет 0x4001, в качестве сокета для передачи – сокет 0x4002.
Программа program2.exe в качестве сокета для приема использует сокет 0x4002, в качестве сокета для передачи – сокет 0x4001.
Программы program1.exe и program2.exe отличаются только этим. Весь остальной код у них одинаковый.
Очевидно, что обе программы не могут одновременно открыть оба сокета 0x4001 и 0x4002. Поэтому каждая программа открывает только свой сокет для приема. Этого оказалось достаточно для взаимодействия двух программ. При этом в обеих программах присутствует код открытия и сокета для передачи, но он закомментирован. Если этот код раскомментировать, то можно будет запускать эти программы на разных машинах в сети.
Сначала вызываются функции инициализации.
Далее, программа начинает основной цикл своей работы.
Если не нажата никакая клавиша, программа находится в режиме приема запроса. Если запрос поступил, то программа обрабатывает этот запрос, посылая полное имя текущей директории. Далее программа принимает от другой программы подтверждение приема полного имени и выводит его на экран.
 Если нажата клавиша Esc, то осуществляется выход из программы. Если нажата клавиша Enter, то программа посылает запрос другой программе.  Другая программа этот запрос принимает и обрабатывает, отправляя полное имя текущей директории запрашивающей программе.
При приеме полного имени текущей директории, оно выводится на экран. После этого отправляется подтверждение приема полного имени.
После этого программа снова находится в режиме ожидания действия пользователя или запроса от другой программы. Если нажимается клавиша Enter, то программа снова посылает запрос другой программе.
Результаты выполнения программы
Результаты работы программы из папки G:\Vysochin\Program1. Сначала полное имя текущей директории принимается, а потом отправляется.
 Результаты работы программы из папки G:\Vysochin\Program2. Сначала полное имя текущей директории отправляется, а потом принимается.
Заявка на расчет