ВУЗ:
Составители:
Рубрика:
- 48 -
при помощи функции WSAGetLastError, возможные коды ошибок перечис-
лены ниже
Код ошибки Описание
WSANOTINITIALISED
Перед использование функции необходимо вызвать функ-
цию WSAStartup
WSAENETDOWN
Сбой в сети
WSAEADDRINUSE
Указанный адрес уже используется
WSAEFAULT Значение параметра namelen меньше размера структуры
sockaddr
WSAINPROGRESS Выполняется блокирующая функция интерфейса Windows
Sockets
WSAEAFNOSUPPORT
Выбранный протокол не может работать с указанным семей-
ством адресов
WSAEINVAL
Сокет уже привязан к адресу
WSAENOBUFS
Установлено слишком много соединений
WSAENOTSOCK
Указанный в параметре дескриптор не является дескрипто-
ром сокета
Пример вызова функции bind показан ниже
if (bind(srv_socket, (LPSOCKADDR) &srv_address,
sizeof(srv_address)) == SOCKET_ERROR)
{
closesocket(srv_socket);
MessageBox(NULL, "Ошибка функции Bind", "Error", MB_OK);
return;
}
6.6.СОЗДАНИЕ КАНАЛА СВЯЗИ
В случае передачи датаграммных сообщений при помощи протокола не-
гарантированной доставки UDP канал связи не нужен и сразу после создания
сокетов и их инициализации можно приступать к передаче данных. Однако
при использовании протокола гарантированной доставки TCP необходимо
создать канал связи.
6.6.1.СТОРОНА СЕРВЕРА
При создании
канала связи со стороны сервера прежде всего следует пе-
реключить сокет в режим приема для выполнения ожидания соединения с
клиентом при помощи функции listen
- 48 -
при помощи функции WSAGetLastError, возможные коды ошибок перечис-
лены ниже
Код ошибки Описание
WSANOTINITIALISED Перед использование функции необходимо вызвать функ-
цию WSAStartup
WSAENETDOWN Сбой в сети
WSAEADDRINUSE Указанный адрес уже используется
WSAEFAULT Значение параметра namelen меньше размера структуры
sockaddr
WSAINPROGRESS Выполняется блокирующая функция интерфейса Windows
Sockets
WSAEAFNOSUPPORT Выбранный протокол не может работать с указанным семей-
ством адресов
WSAEINVAL Сокет уже привязан к адресу
WSAENOBUFS Установлено слишком много соединений
WSAENOTSOCK Указанный в параметре дескриптор не является дескрипто-
ром сокета
Пример вызова функции bind показан ниже
if (bind(srv_socket, (LPSOCKADDR) &srv_address,
sizeof(srv_address)) == SOCKET_ERROR)
{
closesocket(srv_socket);
MessageBox(NULL, "Ошибка функции Bind", "Error", MB_OK);
return;
}
6.6.СОЗДАНИЕ КАНАЛА СВЯЗИ
В случае передачи датаграммных сообщений при помощи протокола не-
гарантированной доставки UDP канал связи не нужен и сразу после создания
сокетов и их инициализации можно приступать к передаче данных. Однако
при использовании протокола гарантированной доставки TCP необходимо
создать канал связи.
6.6.1.СТОРОНА СЕРВЕРА
При создании канала связи со стороны сервера прежде всего следует пе-
реключить сокет в режим приема для выполнения ожидания соединения с
клиентом при помощи функции listen
Страницы
- « первая
- ‹ предыдущая
- …
- 46
- 47
- 48
- 49
- 50
- …
- следующая ›
- последняя »
