СибГУТИ Лабораторная работа 3 Сетевое программирование скачать бесплатно
Лабораторная работа № 3. Программирование обменов в сетях TCP/IP.
Цель работы: Приобрести навыки сетевого программирования обменом данными в сетях TCP/IP с использованием технологии Winsock API.
Теория
Для выполнения лабораторной работы необходимо изучить содержимое главы 8 теоретического материала по сетевому программированию.
Порядок выполнения работы:
В процессе выполнения данной лабораторной работы необходимо разработать и реализовать программу пересылки пакета данных между машинами в режиме "клиент-сервер". После установления связи клиент и сервер обмениваются пакетами данных. Пакет данных должен содержать полное имя текущей директории, где находится программа вывода пакета данных. Вышестоящая директория должна содержать фамилию студента в латинской раскладке. Программу разместить в разных директориях и запускать в двух разных окнах. Программу можно отлаживать на одной машине. При этом можно использовать локальный IP-адрес 127.0.0.1.
Пример реализации программы реализующей диалог между ЭВМ по протоколу TCP/IP в среде Visual Studio C++ представлен в п.8.5 теоретического материала.
Выбор среды программирования обеспечивающей технологию Winsock API студент осуществляет самостоятельно.
Текст программы
...
Описание работы программы
Сначала вызываются функции инициализации.
После этого программа определяет наличие сервера, пытаясь установить с ним связь. Если связь установить получилось, то программа становится клиентом. Иначе, программа становится сервером, вызывая последовательно функции bind, listen, accept. При выполнении последней из этих функций программа переходит в режим ожидания подключения клиента.
После подключения клиента к серверу, каждая из программ создает нить для передачи и нить для приема информации. И начинается основной цикл работы клиента и сервера.
Если в одной из программ нажата клавиша Esc, то она посылает другой программе команду завершения работы и сама завершается. Другая программа принимает команду завершения работы и тоже завершается.
Если в одной из программ нажата клавиша Enter, то программа посылает запрос другой программе – команду pwd. Другая программа этот запрос принимает и обрабатывает, отправляя полное имя текущей директории запрашивающей программе, которая выводит его на экран.
После этого программа снова находится в режиме ожидания действия пользователя или запроса от другой программы. Если нажимается клавиша Enter, то программа снова посылает запрос другой программе.
Результаты выполнения программы
Результаты работы программы из папки G:\Vysochin\Program1. Сначала полное имя текущей директории принимается, а потом отправляется.
Результаты работы программы из папки G:\Vysochin\Program2. Сначала полное имя текущей директории отправляется, а потом принимается.