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

Функция bind

Эта функция используется сервером для присваивания сокету имени. До выполнения функции bind (т.е. присваивания какого-либо имени, вид которого зависит от адресного домена ) сокет недоступен программам-клиентам.

Прототип:

int bind(int s, char * name, int namelen);

Первый параметр - сокет-дескриптор, который данная функция именует. Второй параметр - указатель на структуру имени сокета, тип которой зависит от домена. Для UNIX-домена этот тип называется sockaddr_un, он определен во включаемом файле sys/un.h и выглядит таким образом: struct sockaddr_un { short sun_family; char sun_path[108]; }; В качестве первого элемента структуры, обозначающего класс адресов, мы будем использовать константу AF_UNIX, второй элемент - имя файла, который будет соответствовать используемому сокету.

Файл c именем, указанным в sun_path, действительно создается, поэтому после окончания работы с данным сокетом надо выполнить функцию unlink, в противном случае другие программы, которые попытаются использовать данное имя, получат сообщение об ошибке.



Alex Otwagin 2002-12-16