ВУЗ:
Составители:
Рубрика:
- 55 -
WSAENOTSOCK
Указанный в параметре дескриптор не указывает на сокет
WSAESHUTDOWN Сокет не был закрыт функцией shutdown
WSAEWOULDBLOCK
Сокет отмечен как неблокирующий, но запрошенная опера-
ция приведет к блокировке
WSAEMSGSIZE Был использован сокет типа SOCK_DGRAM (предназна-
ченный для передачи датаграмм), но при этом размер пакета
данных превышает максимально допустимый для данной
реализации интерфейса Windows Sockets
WSAEINVAL Сокет не был подключен функцией bind
WSAECONNABORTED
Сбой соединения из-за слишком большой задержки или по
другой причине
WSAECONNRESET
Разрыв соединения удаленным узлом сети
При выполнении функции recv могут возникнуть следующие ошибки
Код ошибки Описание
WSANOTINITIALISED
Перед использованием функции необходимо вызвать функ-
цию WSAStartup
WSAENETDOWN
Сбой в сети
WSAENOTCONN
Сокет не был подсоединен
WSAEINTR
Выполнение функции было отменено при помощи функции
WSACancelBlockingCall
WSAEINPROGRESS Выполняется блокирующая функция интерфейса Windows
Sockets
WSAENOTSOCK
Указанный в параметре дескриптор не есть дескриптор соке-
та
WSAESHUTDOWN Сокет был закрыт функцией shutdown
WSAEWOULDBLOCK
Сокет отмечен как неблокирующий, но запрошенная опера-
ция приведет к блокировке
WSAEMGSIZE
Размер пакета данных превышает размер буфера, в результа-
те чего принятый пакет был обрезан
WSAEINVAL Сокет не был подключен функцией bind
WSAECONNABORTED
Сбой из-за слишком большой задержки или по другой при-
чине
WSAECONNRESET
Разрыв соединения удаленным узлом
Передача и прием данных в цикле может привести к блокировке работы
приложения. Если это неприемлемо, следует воспользоваться асинхронными
расширениями интерфейса Windows Sockets.
Ниже приведен фрагмент исходного кода приложения SERVER, демон-
стрирующий асинхронный прием данных [13].
После установки канала связи приложение вызывает функцию
WSAAsyncSelect, указывая ей в качестве последнего параметрам комбина-
цию констант
FD_READ и FD_CLOSE. При этом функция главного окна
приложения будет получать сообщение WSA_NETEVENT в тот момент, ко-
гда чтение данных не вызовет блокировки приложения.
- 55 - WSAENOTSOCK Указанный в параметре дескриптор не указывает на сокет WSAESHUTDOWN Сокет не был закрыт функцией shutdown WSAEWOULDBLOCK Сокет отмечен как неблокирующий, но запрошенная опера- ция приведет к блокировке WSAEMSGSIZE Был использован сокет типа SOCK_DGRAM (предназна- ченный для передачи датаграмм), но при этом размер пакета данных превышает максимально допустимый для данной реализации интерфейса Windows Sockets WSAEINVAL Сокет не был подключен функцией bind WSAECONNABORTED Сбой соединения из-за слишком большой задержки или по другой причине WSAECONNRESET Разрыв соединения удаленным узлом сети При выполнении функции recv могут возникнуть следующие ошибки Код ошибки Описание WSANOTINITIALISED Перед использованием функции необходимо вызвать функ- цию WSAStartup WSAENETDOWN Сбой в сети WSAENOTCONN Сокет не был подсоединен WSAEINTR Выполнение функции было отменено при помощи функции WSACancelBlockingCall WSAEINPROGRESS Выполняется блокирующая функция интерфейса Windows Sockets WSAENOTSOCK Указанный в параметре дескриптор не есть дескриптор соке- та WSAESHUTDOWN Сокет был закрыт функцией shutdown WSAEWOULDBLOCK Сокет отмечен как неблокирующий, но запрошенная опера- ция приведет к блокировке WSAEMGSIZE Размер пакета данных превышает размер буфера, в результа- те чего принятый пакет был обрезан WSAEINVAL Сокет не был подключен функцией bind WSAECONNABORTED Сбой из-за слишком большой задержки или по другой при- чине WSAECONNRESET Разрыв соединения удаленным узлом Передача и прием данных в цикле может привести к блокировке работы приложения. Если это неприемлемо, следует воспользоваться асинхронными расширениями интерфейса Windows Sockets. Ниже приведен фрагмент исходного кода приложения SERVER, демон- стрирующий асинхронный прием данных [13]. После установки канала связи приложение вызывает функцию WSAAsyncSelect, указывая ей в качестве последнего параметрам комбина- цию констант FD_READ и FD_CLOSE. При этом функция главного окна приложения будет получать сообщение WSA_NETEVENT в тот момент, ко- гда чтение данных не вызовет блокировки приложения.
Страницы
- « первая
- ‹ предыдущая
- …
- 53
- 54
- 55
- 56
- 57
- …
- следующая ›
- последняя »