Тема №11648 Взаимодействие сетевых процессов с помощью сокетов
Поиск задачи:

Рассмотрим тему Взаимодействие сетевых процессов с помощью сокетов из предмета Информатика и все вопросы которые связанны с ней. Из представленного текста вы познакомитесь с Взаимодействие сетевых процессов с помощью сокетов, узнаете ключевые особенности и основные понятия.

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

Socket– соединитель. Основные операционные среды (Unix, Windows) базируются в настоящее время на идеологии соединителей (Socket). Эта технология была разработана в университете г.Беркли (США) для системы Unix, поэтому соединители иногда называют соединителями Беркли (Berkeley sockets). Впервые идея соединителя была использована в системе 4.3 BSD Unix для организации сетевого ввода/вывода. Соединители реализуют механизм взаимодействия не только сетевых программ и процессов, но и программ и процессов внутри ЭВМ.

Технология соединителей поддерживает работу с любыми стеками протоколов. Набор операторов, поддерживающих работу соединителей, образует отдельную динамическую библиотеку (в Windows – WinSock).

В сетевых системах пара комбинаций IP-адресов и номеров портов однозначно определяет канал связи между двумя процессами в ЭВМ. Такая комбинация называется соединителем (socket). Номера портов могут и совпадать, так как относятся к разным машинам, но IP-адреса должны быть обязательно разными.

Процедура передачи данных с помощью сокетов.

На стороне сервера:

1. Создание сокета с указанием набора используемых протоколов (это может быть набор InternetUnixAppleTalk и т.д.) и конкретного протокола, с помощью которого будет производиться передача данных (TCP, UDP). Процедура – socket.

2. Присвоение созданному соединителю определенного IP-адреса и номера порта. Процедура – bind.

3. Переход в режим ожидания и подготовка соединителя к обработке потока запросов на соединение. При этом организуется очередь запросов. Процедура – listen.

4. Извлечение запросов на соединение из очереди и их обработка. Процедура accept. Если очередь запросов пуста, то accept блокирует программу до получения запроса на соединение. Для предотвращения блокирования можно предварительно с помощью процедуры Select убедиться, что очередь запросов не пуста, и только после этого вызвать процедуру accept. После прихода запроса на соединение создается дополнительный сокет для обмена данными с клиентом.

5. Обмен данными с клиентом через дополнительный сокет. Для отправки данных клиенту используетсяпроцедура Send, для получения данных от клиента – процедура Recv.

6. Выключение и закрытие дополнительного сокета (процедуры Shutdown иCloseSocket).

7. Переход к шагу 4.

 

На стороне клиента:

1. Создание сокета с указанием набора используемых протоколов (это может быть набор InternetUnixAppleTalk и т.д.) и конкретного протокола, с помощью которого будет производиться передача данных (TCP, UDP). Процедура – socket.

2. Формирование запроса на соединение с сервером с указанием его IP-адреса и номера порта. Процедура connect.

3. Обмен данными с сервером через слозданный сокет. Для отправки данных клиенту используетсяпроцедура Send, для получения данных от клиента – процедура Recv.

4. Выключение и закрытие сокета (процедуры Shutdown иCloseSocket).


Категория: Информатика | Добавил: (14.07.2017)
Просмотров: | Рейтинг: 0.0/0


Другие задачи:
Всего комментариев: 0
avatar