русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Удаление сокета


Дата добавления: 2013-12-23; просмотров: 1913; Нарушение авторских прав


Создание сокета

Сокет создается с помощью функции socket , имеющей следующий прототип:

SOCKET socket (int af, int type, int protocol);

Параметр af определяет формат адреса. Для этого параметра вы должны указывать значение AF_INET , что соответствует формату адреса, принятому в Internet.

Параметры type и protocol определяют, сооветственно, тип сокета и протокол, который будет использован для данного сокета.

Можно указывать сокеты следующих двух типов:

Тип сокета Описание
SOCK_STREAM Сокет будет использован для передачи данных через канал связи с использованием протокола TCP
SOCK_DGRAM Передача данных будет выполняться без создания каналов связи через датаграммный протокол UDP

Что же касается параметра protocol, то вы можете указать для него нулевое значение.

В случае успеха функция socket возвращает дескриптор, который нужно использовать для выполнения всех операций над данным сокетом. Если же произошла ошибка, эта функция возвращает значение INVALID_SOCKET . Для анализа причины ошибки вы должны вызвать функцию WSAGetLastError , которая в данном случае может вернуть один из следующих кодов ошибки:

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

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



srv_socket = socket(AF_INET , SOCK_STREAM, 0);

if(srv_socket == INVALID_SOCKET)

{

MessageBox(NULL, "socket Error", "Error", MB_OK);

return;

}

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

int closesocket (SOCKET sock);

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

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


<== предыдущая лекция | следующая лекция ==>
Структура стандартов IEEE 802.X | Параметры сокета


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.