Int bind (s, addr, addrlen) int s; struct SOCKADDR_IN *addr; int addrlen;
Пример:
- err = bind( s, (LPSOCKADDR)&sin, sizeof(sin) );
Аргумент s задает дескриптор связываемого socket'а.
Аргумент addr в общем случае должен указывать на структуру данных, содержащую локальный адрес, приписываемый socket'у. Для сетей TCP/IP такой структурой является SOCKADDR_IN.
Аргумент addrlen задает размер (в байтах) структуры данных, указываемой аргументом addr.
В случае успеха bind возвращает 0, в противном случае - "-1".
Для установления связи "клиент-сервер" используются системные вызовы listen и accept (на стороне сервера), а также connect
(на стороне клиента). Для заполнения полей структуры socaddr_in, используемой в вызове connect, обычно используется библиотечная функция gethostbyname, транслирующая символическое имя узла сети в его номер (адрес).
Системный вызов listen выражает желание выдавшей его программы-сервера ожидать запросы к ней от программ-клиентов и имеет следующий вид: