Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Топ:
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Интересное:
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Дисциплины:
2017-06-25 | 707 |
5.00
из
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
Общие сведения
Сокеты (англ. socket — углубление, гнездо, разъём) — название программного интерфейса для
обеспечения обмена данными между процессами. Процессы при таком обмене могут
исполняться как на одной ЭВМ, так и на различных ЭВМ, связанных между собой сетью. Сокет —
абстрактный объект, представляющий конечную точку соединения.
Интерфейс сокетов впервые появился в BSD Unix. Программный интерфейс сокетов описан в
стандарте POSIX.1 и в той или иной мере поддерживается всеми современными операционными
системами.
Сокеты могут динамически создаваться и уничтожаться. При создании сокета вызывающему
процессу возвращается дескриптор файла, который используется для установки или разрыва
соединения, а также чтения и записи данных.
Каждый сокет поддерживает определенный тип работы в сети, указываемый при его создании.
Наиболее распространенными типами сокетов являются:
· Надежный, ориентированный на соединение байтовый поток.
· Надежный, ориентированный на соединение поток пакетов.
· Ненадежная передача пакетов.
Первый тип сокетов позволяет двум процессам на различных машинах установить между собой
эквивалент «трубы» (канала между процессами на одной машине). Байты подаются в канал с
одного конца и в том же порядке выходят с другого. Такая система гарантирует, что все посланные байты прибудут на другой конец канала и прибудут именно в том порядке, в котором были отправлены.
Второй тип сокетов отличается от первого тем, что он сохраняет границы между пакетами. Если
отправитель пять раз отдельно обращается к системному вызову write, каждый раз отправляя по
512 байт, а получатель запрашивает 2560 байт по сокету типа 1, он получит все 2560 байт сразу.
|
При использовании сокета типа 2 ему будут выданы только первые 512 байт. Чтобы получить
остальные байты, необходимо повторно прочитать данные из сокета с помощью функции read
еще четыре раза.
Третий тип сокета предоставляет пользователю доступ к «голой» сети. Этот тип сокета особенно полезен для приложений реального времени и ситуаций, в которых пользователь хочет реализовать специальную схему обработки ошибок. Сеть может терять пакеты или доставлять их в неверном порядке. В отличие от сокетов первых двух типов, сокет типа 3 не предоставляет никаких гарантий доставки. Преимущество этого режима заключается в более высокой производительности, которая в некоторых ситуациях оказывается важнее надежности (например, для доставки мультимедиа, при которой скорость ценится существенно выше, нежели сохранность данных по дороге).
При создании сокета один из параметров указывает протокол, используемый для него. Для надежных байтовых потоков, как правило, используется протокол TCP (Transmission Control
Protocol – протокол управления передачей). Для ненадежной передачи пакетов обычно применяется протокол UDP (User Data Protocol – пользовательский протокол данных). Для надежного потока пакетов специального протокола нет.
Прежде чем сокет может быть использован для работы в сети, с ним должен быть связан адрес.
Этот адрес может принадлежать к одному из нескольких пространств адресов. Наиболее распространенным пространством является пространство адресов Интернета, использующее 32-
разарядные числа для идентификации конечных адресатов в протоколе IPv4 и 128-разрядные числа в протоколе IPv6 (5-я версия протокола IP была экспериментальной системой, так и не выпущенной в свет).
Как только сокеты созданы на компьютере-источнике и компьютере-приемнике, между ними может быть установлено соединение (для ориентированной на соединение связи). Одна сторона обращается к системному вызову listen, указывая в качестве параметра локальный сокет. При этом системный вызов создает буфер и блокируется до тех пор, пока не прибудут данные. Другая сторона обращается к системному вызову connect, задавая в параметрах дескриптор файла для локального сокета и адрес удаленного сокета. Если удаленный компьютер принимает вызов, то система устанавливает соединение между двумя сокетами.
|
Функции установленного соединения аналогичны функциям канала. Процесс может читать из канала и писать в него. Когда соединени более не нужно, оно может быть закрыто обычным способом, при помощи системного вызова close.
|
|
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!