Сетевые технологии. Учебное пособие. Баканов В.М. - 45 стр.

UptoLike

Составители: 

45
int
closesocket(SOCKET sock);
Ниже перечислены коды ошибок для этой функции
Код ошибки Описание
WSANOTINITIALISED Перед использование функции closesocket не была вызвана
функция WSAStartup
WSAENETDOWN
Сбой в сети
WSANOTSOCK
Указанный в параметре дескриптор не является дескрипто-
ром сокета
WSAINPROGRESS Выполняется блокирующая функция интерфейса Windows
Sockets
WSAEINTR
Работа функции была отменена при помощи функции
WSACancelBlockingCall
6.4 Параметры сокета
Перед использованием сокета необходимо задать его параметры, жля чего
следует подготовить структуру типа
sockaddr
, определение которой помеще-
но ниже:
struct sockaddr
{
u_short sa_family;
char sa_data[14];
} ;
typedef struct sockaddr SOCKADDR;
typedef struct sockaddr *PSOCKADDR;
typedef struct sockaddr FAR *LPSOCKADDR;
Для работы с адресами в формате InterNet используется другой вариант
этой структуры, в котором детализируется формат поля
sa_data
struct sockaddr_in
{
short sin_family;
u_short sin_port;
struct in_addr sin_addr;
char sin_zero[8];
} ;
 int
 closesocket(SOCKET sock);

  Ниже перечислены коды ошибок для этой функции

    Код ошибки                                Описание
WSANOTINITIALISED      Перед использование функции closesocket не была вызвана
                       функция WSAStartup
WSAENETDOWN            Сбой в сети
WSANOTSOCK             Указанный в параметре дескриптор не является дескрипто-
                       ром сокета
WSAINPROGRESS          Выполняется блокирующая функция интерфейса Windows
                       Sockets
WSAEINTR               Работа функции была отменена при помощи функции
                       WSACancelBlockingCall

  6.4 Параметры сокета

  Перед использованием сокета необходимо задать его параметры, жля чего
следует подготовить структуру типа sockaddr, определение которой помеще-
но ниже:

struct sockaddr
{
   u_short sa_family;
   char     sa_data[14];
};

typedef struct sockaddr      SOCKADDR;
typedef struct sockaddr     *PSOCKADDR;
typedef struct sockaddr FAR *LPSOCKADDR;

  Для работы с адресами в формате InterNet используется другой вариант
этой структуры, в котором детализируется формат поля sa_data

struct sockaddr_in
{
   short   sin_family;
   u_short sin_port;
   struct in_addr sin_addr;
   char    sin_zero[8];
};


                                   45