Программное обеспечение компьютерных сетей и информационных систем. Баканов В.М. - 41 стр.

UptoLike

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

- 41 -
версия спецификации, которой соответствует конкретная реализация интер-
фейса Windows Socket.
Приложение может одновременно создать несколько сокетов, например,
для использования в разных подзадачах одного процесса. В поле
iMaxSockets хранится максимальное количество сокетов, которое можно по-
лучить для одного процесса. В поле iMaxUdpDg записан максимальный раз-
мер пакета данных, который можно переслать с использованием
датаграмм-
ного протокола UDP; поле lpVendorInfo содержит указатель на дополни-
тельную информацию, формат которой зависит от фирмы-изготовителя кон-
кретной реализации системы Windows Sockets.
Перед тем как завершить свою работу, приложение должно освободить
ресурсы, полученные у операционной системы для работы с Windows
Sockets. Для выполнения этой задачи приложение должно вызвать функцию
WSACleanup
, определенную следующим образом:
int
WSAСlеаnup(void);
Эта функция может возвратить нулевое значение при успехе или значе-
ние SOCKET_ERROR в случае ошибки.
Для получения кода ошибки следует воспользоваться функцией с име-
нем WSAGetLastError:
int
WSAGetLastError(void);
Функция WSAGetLastError позволяет определить код ошибки при не-
удачном завершении практически всех функций интерфейса Windows
Socket. Ее следует вызывать сразу вслед за функцией, завершившейся не-
удачно.
Если ошибка возникла при выполнении функции WSACleanup, функция
WSAGetLastError возращает одно из следующих значений
Значение Описание
WSANOTINITIALISED Интерфейс Windows Sockets не был проинициализиро-
ван функцией WSAStartup
WSAENETDOWN
Сбой сетевого программного обеспечения
WSAEINPROGRESS Во время вызова функции WSACleanup выполнялась
одна из блокирующих функций интерфейса Windows
Sockets
Представляет интерес случай возврата кода ошибки
WSAEINPROGRESS.
                                   - 41 -


версия спецификации, которой соответствует конкретная реализация интер-
фейса Windows Socket.
    Приложение может одновременно создать несколько сокетов, например,
для использования в разных подзадачах одного процесса. В поле
iMaxSockets хранится максимальное количество сокетов, которое можно по-
лучить для одного процесса. В поле iMaxUdpDg записан максимальный раз-
мер пакета данных, который можно переслать с использованием датаграмм-
ного протокола UDP; поле lpVendorInfo содержит указатель на дополни-
тельную информацию, формат которой зависит от фирмы-изготовителя кон-
кретной реализации системы Windows Sockets.
    Перед тем как завершить свою работу, приложение должно освободить
ресурсы, полученные у операционной системы для работы с Windows
Sockets. Для выполнения этой задачи приложение должно вызвать функцию
WSACleanup, определенную следующим образом:

int
WSAСlеаnup(void);

    Эта функция может возвратить нулевое значение при успехе или значе-
ние SOCKET_ERROR в случае ошибки.
    Для получения кода ошибки следует воспользоваться функцией с име-
нем WSAGetLastError:

int
WSAGetLastError(void);

    Функция WSAGetLastError позволяет определить код ошибки при не-
удачном завершении практически всех функций интерфейса Windows
Socket. Ее следует вызывать сразу вслед за функцией, завершившейся не-
удачно.
    Если ошибка возникла при выполнении функции WSACleanup, функция
WSAGetLastError возращает одно из следующих значений

      Значение                                 Описание
WSANOTINITIALISED         Интерфейс Windows Sockets не был проинициализиро-
                          ван функцией WSAStartup
WSAENETDOWN               Сбой сетевого программного обеспечения
WSAEINPROGRESS            Во время вызова функции WSACleanup выполнялась
                          одна из блокирующих функций интерфейса Windows
                          Sockets

   Представляет интерес          случай     возврата      кода     ошибки
WSAEINPROGRESS.