Адресация и создание сокета

Совокупная информация об адресе, порте программы-адресата (абонента), модели соединения, протоколе взаимодействия составляет т.н. сокет (конечная абонентская точка), формально представляющий собой структуру данных. Существует несколько видов сокетов:

struct sockaddr {

u_char sa_family; /* Семейство адресов (домен) */

char sa_data[]; }; /* Адрес сокета */

struct sockaddr_in {

u_char sin_len; /* Длина поля sockaddr_in (для FreeBSD) */

u_char sin_family; /* Семейство адресов (домен) */

u_short sin_port; /* Номер порта */

struct in_addr sin_addr; /* IP-адрес */

char sin_zero[8]; }; /* Поле выравнивания */

где struct in_addr {

n_int32_t s_addr}.

Создается сокет при помощи системного вызова socket().

#include <sys/socket.h>