Системный вызов для привязки сокета к конкретному адресу Прототип системного вызова #include <sys/types.h> #include <sys/socket.h> int bind(int sockd, struct sockaddr *my_addr, int addrlen); Описание системного вызова Системный вызов bind служит для привязки созданного сокета к определенному полному адресу вычислительной сети. Параметр sockd является дескриптором созданного ранее коммуникационного узла, т. е. значением, которое вернул системный вызов socket(). Параметр my_addr представляет собой адрес структуры, содержащей информацию о том, куда именно мы хотим привязать наш сокет – то, что принято называть адресом сокета. Он имеет тип указателя на структуру-шаблон struct sockaddr, которая должна быть конкретизирована в зависимости от используемого семейства протоколов и заполнена перед вызовом. Параметр addrlen должен содержать фактическую длину структуры, адрес которой передается в качестве второго параметра. Эта длина в разных семействах протоколов и даже в пределах одного семейства протоколов может быть различной (например, для UNIX Domain). Возвращаемое значение Системный вызов возвращает значение 0 при нормальном завершении и отрицательное значение – в случае ошибки. |