Составители:
Рубрика:
Система Sockets ОС Unix
Система Sockets ОС Unix впервые появилась в версии 4.3 BSD UNIX (Berkley
Software Distribution UNIX). В ОС Windows используется Windows Sockets = WinSock.
Это удобный и универсальный механизм разработки сетевых распределенных
приложений:
• Система Sockets ОС Unix не зависит от нижележащих сетевых протоколов и
технологий, так как основана на понятии коммуникационного домена
(Communication Domain). Каждый домен характеризуется способом именования
сетевых узлов и ресурсов, видом сетевых
соединений (надежные, дейтаграммные,
упорядоченные), способом синхронизации процессов и т. д.
• Используется абстрактная конечная точка соединения сокет (socket=гнездо).
Сообщения уходят в сеть и принимаются из сети через сокеты. Каждый процесс
пользуется своим сокетом (сокеты могут быть на одной машине).
• Сокет может иметь как высокоуровневое символьное имя (адрес), так и
низкоуровневое
, отражающее специфику адресации соответствующего домена.
Например, в домене Интернета используется низкоуровневое имя в виде пары (IP-
адрес, порт).
• Для каждого домена могут быть сокеты различных типов, определяющих вид
взаимодействия (соединения):
√ дейтаграммные (datagram);
√ потоковые, обеспечивающие надежную доставку (stream).
Для работы с сокетами используются следующие примитивы (системные вызовы).
Создание сокета:
s=socket(domain, type, protocol),
где type
∈ {TCP, UDP, …}.
Связывание сокета с адресом:
bind(s, addr, addrlen),
где addr – адрес узла, где расположен сокет, например addr=(IP-адрес, порт).
Связывание требуется только для приема сообщений.
Запрос клиента на установление соединения с удаленным сокетом:
connect(s, server_addr, server-addrlen).
После установления соединения сообщения могут передаваться в обоих направлениях.
Ожидание запроса на установление соединения:
listen(s, backlog),
где backlog – максимальное число запросов в очереди.
Принятие запроса на установление соединения:
snew= accept(s, client_addr, client_addrlen).
Страницы
- « первая
- ‹ предыдущая
- …
- 139
- 140
- 141
- 142
- 143
- …
- следующая ›
- последняя »
