next up previous contents index
Next: Функция bind Up: Работа с сокетами Previous: Работа с сокетами   Contents   Index

Функция socket

Эта функция используется для создания сокета. Прототип:

int socket (int domain, int type, int protocol);

Первый параметр - домен - накладывает определенные ограничения на формат используемых процессом адресов и их интерпретацию. При работе с одной ЭВМ используется UNIX-домен, где адреса интерпретируются как имена файлов в UNIX. В этом случае в качестве первого параметра указывается константа AF-UNIX (AF - Address Family).

Второй параметр определяет тип канала связи с сокетом, который должен быть использован.

Существует несколько типов каналов связи с сокетом, доступных при межпроцессном взаимодействии в UNIX, но обычно используются следующие два:

Третий параметр позволяет программисту выбрать нужный протокол для канала связи. Если этот параметр равен нулю, ОС выберет нужный протокол автоматически.

Функция socket возвращает целое положительное число - номер сокет-дескриптора (который можно использовать, например, в функциях read и write аналогично файловому дескриптору). Если же сокет по каким-либо причинам не был создан (например, очень много открытых файлов), возвращается -1, а в переменную "errno" записывается причина неудачи.

Константы, используемые в качестве аргументов при вызове socket, определены во включаемых файлах sys/socket.h и sys/types.h.



Alex Otwagin 2002-12-16