Открытие сокета
Как и при работе с файлами в Unix работа в сети использует цикл:
Открыть/считать/записать/закрыть.
Функция сокет возвращает на дескриптор сокета, при этом в оперативе создается структура сокета.
SocketWSAS socket(int af, int type, int protocol);
Константы для семейства адресов (af )
#define AF_INET
AF_IPX
AF_NETBIOS
AF_APPLETALK
Константы типов сокетов
#define SOCK_STREAM
SOCK_DGRAM
SOCK_SEQPACKET
Константы для типов протоколов
#define IPPROTO_IP
IPPROTO_TCP
IPPROTO_UDP
NSPPROTO_IPX
NSPPROTO_SPX
Открытие сокета для TCP/IP
Socket mySock = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
Передача данных через сокеты
Последовательность действий при обмене дейтаграммами:
Последовательность действий при обмене данными через соединенный сокет:
Инициатором соединения всегда является клиент.
int listen(socket s, int backlog)
backlog – определяет мах длину очереди на ожидание соединения(1-5).
Само же соединение открывается функцией accept() она возвращает дескриптор socketa.
Если соединение открывается успешно, то функция accept возвращает дескриптор нового сокета который будет использоваться для передачи данных. Первый сокет освобождается и переходит в режим ожидания запросов от других сетевых пк.