Для создания сокета определенного типа в определенном адресном пространстве используется функция socket():
#include <sys/ socket. h>
int socket(int domain, int type, int protocol);
Тем не менее, удаленный процесс не может идентифицировать определенный сокет, пока ему не будет присвоен адрес. Процессы могут поддерживать связь только через адреса. В пространстве адресов UNIX соединение обычно определяется одним или двумя именами файлов. В пространстве адресов Интернета соединение определяется локальным и удаленным адресами и номерами портов.
Функция bind()
#include <sys/ socket. h>
int bind(int s, const struct sockaddr *name, int namelen);
ushort_ t sa_ family; /* семейство адресов */
char sa_ data[ 14]; /* 14 байт прямого адреса */
};
ushort_ t sun_ family; /* AF_ UNIX */
char sun_ path[ 104]; /* путь к файлу */
};
uchar_ t sin_ len;
sa_ family_ t sin_ family; /* AF_ INET */
in_ port_ t sin_ port; /* 16-битный порт */
struct in_ addr sin_ addr; /* Указатель на адрес */
uchar_ t sin_ zero[ 8]; /* зарезервировано */
};