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

UptoLike

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

- 43 -
Код ошибки Описание
WSANOTINITIALISED Интерфейс Windows Sockets не был проинициализиро-
ван функцией WSAStartup
WSAENETDOWD
Сбой сетевого программного обеспечения
WSAEAFNOSUPPORT
Указан неправильный тип адреса
WSAEINPROGRESS
Выполняется блокирующая функция интерфейса
Windows Sockets
WSAEMFILE
Израсходован весь запас свободных дескрипторов
WSAENOBUFS
Нет памяти для создания буферов
WSAEPROTONOSUPPORT
Указан неправильный протокол
WSAEPROTOTYPE
Указанный протокол несовместим с данным типом соке-
та
WSAESOCKNOSUPPORT
Указанный тип сокета несовместим с данным типом ад-
реса
Ниже приведен фрагмент кода, в котором создается сокет для передачи
данных с использование протокола TCP
srv_socket = socket(AF_INET, SOCK_STREAM, 0);
if (srv_socket == INVALID_SOCKET)
{
MessageBox(NULL, "Ошибка создания сокета", "Error", MB_OK);
return;
}
При практическом программировании после выявления ошибки выпол-
нения функции следует сразу же вызвать функцию WSAGetLastError и не-
которым образом информировать пользователя о конкретной причине ошиб-
ки.
6.3.УДАЛЕНИЕ СОКЕТА
Для освобождения ресурсов приложение должно закрывать сокеты, ко-
торые ему больше не нужны, вызывая функцию closesocket
int
closesocket(SOCKET sock);
Ниже перечислены коды ошибок для этой функции
Код ошибки Описание
WSANOTINITIALISED Перед использование функции closesocket не была вызвана
функция WSAStartup
WSAENETDOWN
Сбой в сети
                                     - 43 -


     Код ошибки                                   Описание
WSANOTINITIALISED           Интерфейс Windows Sockets не был проинициализиро-
                            ван функцией WSAStartup
WSAENETDOWD                 Сбой сетевого программного обеспечения
WSAEAFNOSUPPORT             Указан неправильный тип адреса
WSAEINPROGRESS              Выполняется блокирующая функция интерфейса
                            Windows Sockets
WSAEMFILE                   Израсходован весь запас свободных дескрипторов
WSAENOBUFS                  Нет памяти для создания буферов
WSAEPROTONOSUPPORT          Указан неправильный протокол
WSAEPROTOTYPE               Указанный протокол несовместим с данным типом соке-
                            та
WSAESOCKNOSUPPORT           Указанный тип сокета несовместим с данным типом ад-
                            реса

    Ниже приведен фрагмент кода, в котором создается сокет для передачи
данных с использование протокола TCP

srv_socket = socket(AF_INET, SOCK_STREAM, 0);

if (srv_socket == INVALID_SOCKET)
{
    MessageBox(NULL, "Ошибка создания сокета", "Error", MB_OK);
    return;
}

    При практическом программировании после выявления ошибки выпол-
нения функции следует сразу же вызвать функцию WSAGetLastError и не-
которым образом информировать пользователя о конкретной причине ошиб-
ки.

6.3.УДАЛЕНИЕ СОКЕТА

    Для освобождения ресурсов приложение должно закрывать сокеты, ко-
торые ему больше не нужны, вызывая функцию closesocket

int
closesocket(SOCKET sock);

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

    Код ошибки                                Описание
WSANOTINITIALISED      Перед использование функции closesocket не была вызвана
                       функция WSAStartup
WSAENETDOWN            Сбой в сети