Краткая теоретическая справка

Лабораторная работа №1.

КЛИЕНТ-СЕРВЕРНЫЕ ВЗАИМОДЕЙСТВИЯ ПОСРЕДСТВОМ СОКЕТОВ В РЕЖИМЕ TCP-СОЕДИНЕНИЯ

Постановка задачи.

Используя стандартные компоненты среды Delphi TClientSocket, TServerSocket, создать клиент-серверное приложение, реализующее обмен сообщениями между компьютерами, объединенными в локальную сеть, по протоколу TCP/IP в операционной системе Windows XP.

Краткая теоретическая справка

Выполнение данной лабораторной работы основано на технологии сокетов (sockets). Сокет – это интерфейс прикладного программирования для сетевых приложений в операционной системе Unix. Позже интерфейс был переведен в Windows. Его основным назначением является предоставление возможности обмена данными по сети между различными узлами, используя протоколы. Существует три основных типа сокетов:

− клиентские сокеты инициализируются со стороны клиента. Для того, чтобы открыть соединение, клиентский сокет должен «знать» имя или IP-адрес сервера и номер порта, используемый серверным сокетом. Клиент посылает серверу запрос на соединение. Сервер ставит эти запросы в очередь и обслуживает их по мере поступления;

− серверные сокеты устанавливают соединение с клиентским сокетом в ответ на его запрос, полученный слушающим сокетом. При этом клиентский сокет получает описание серверного сокета, после чего соединение считается установленным;

− слушающие сокеты создаются сервером и принимают сообщения по-сле запроса на соединение.

Процесс обмена данными между сокетами может происходить в двух режимах: в блокирующем и неблокирующем. При блокирующем режиме программа ждет выполнения какого-либо события. При неблокирующем – все действия выполняются параллельно.

Сокету для работы необходимо указать три параметра: IP-адрес, связан-ный с сокетом; номер порта, для которого будут выполняться операции обмена данными; протокол, по которому будет работать созданный сокет.

IP-адрес – это 32-битный адрес, используемый для идентификации узла в сети. Каждый узел сети должен иметь уникальный IP-адрес, состоящий из идентификаторов сети и обслуживающего компьютера. Этот адрес записывается в точечно-десятичном формате (например, 192.168.144.232).

Порты, используемые сокетами, являются программными и применяются в Windows на сетевом уровне. В компьютере десятки тысяч портов из них несколько сотен используются системой, остальные – как правило свободны и могут использоваться по желанию программистов. Они необходимы для обмена информацией между клиентом и сервером. Клиенту и серверу необходимо указать свободный порт для корректной работы. Данные на порт сервера могут приходить разными порциями от разных клиентов.

Протокол – это набор правил и соглашений для передачи данных по сети. Такие правила определяют формат, содержание, параметры времени, последовательность и проверку в сообщениях, которыми обмениваются сетевые устройства. Существует множество протоколов: TCP/IP (Transmission Control Pro-tocol/Internet Protocol), UDP (User Datagramm Protocol), IPX/SPX (Internetwork Packet Exchange/Sequenced Packet Exchange) и т.д. Стек TCP/IP содержит набор сетевых протоколов Интернета, поддерживающих связь между объединенными сетями, состоящими из компьютеров различной архитектуры и разными операционными системами. Также он включает в себя стандарты для связи между локальными компьютерами, которым назначаются IP-адреса, и соглашения о соединении сетей и правилах маршрутизации сообщений. В состав стека TCP/IP входит не требующий соединений транспортный протокол UDP. Он является ненадежным, но широко используется в клиент-серверных запросах и приложениях, в которых важна скорость обмена данными, например при передаче информации в интерактивном режиме. В сетях Novell NetWare используется стек протоколов IPX/SPX, который управляет адресацией и направлением передачи пакетов. Его основным недостатком является невозможность объединения сетей с разными протоколами.

Наши рекомендации