Понятие сокета. Основные параметры сокета.
Совокупность IP-адреса и номера порта называетсясокетом. Сокет однозначно идентифицирует прикладной процесс в сетиTCP/IP.
APIсокетов – это название программного интерфейса, предназначенного для обмена данными между процессами, находящимися на одном или на разных объединенных сетью компьютерах.
В операционной системе Windowsинтерфейс сокетов имеет названиеWindows Sockets API.APIсокетов включает в себя функции создания сокета (имеется в виду объект операционной системы, описывающий соединение), установки параметров сокета (сетевой адрес, номер порта и т.д.), функции создания канала и обмена данными между сокетами. Кроме того, есть набор функций позволяющий управлять передачей данных, синхронизировать процессы передачи и приема данных, обрабатывать ошибки и т.п.
Наименование функции | Назначение |
accept | Разрешить подключение к сокету |
bind | Связать сокет с параметрами |
closesocket | Закрыть существующий сокет |
connect | Установить соединение с сокетом |
gethostbyaddr | Получить имя хоста по его адресу |
gethostbyname | Получить адрес хоста по его имени |
gethostname | Получить имя хоста |
getsockopt | Получить текущие опции сокета |
inet_addr | Преобразовать символьное представление IPv4-адреса в форматTCP/IP |
inet_ntoa | Преобразовать сетевое представление IPv4-адреса в символьный формат |
ioctlsocket | Установить режим ввода-вывода сокета |
listen | Переключить сокет в режим прослушивания |
recv | Принять данные по установленному каналу |
recvfrom | Принять сообщение |
send | Отправить данные по установленному каналу |
sendto | Отправить сообщение |
setsockopt | Установит опции сокета |
socket | Создать сокет |
WSACleanup | Завершить использование библиотеки WS2_32.DLL |
WSAGetLastError | Получить диагностирующий код ошибки |
WSAStartup | Инициализировать библиотеку WS2_32.DLL |
Все функции интерфейса Winsock2 могут завершаться успешно или с ошибкой. При описании каждой функции будет указано, каким образом можно проверить успешность ее завершения. В том случае, если функция завершает свою работу с ошибкой, формируется дополнительный диагностирующий код, позволяющий уточнить причину ошибки.
Диагностирующий код может быть получен с помощью функции WSAGetLastError. ФункцияWSAGetLastErrorвызывается, непосредственно сразу после функцииWinsock2, завершившейся с ошибкой
Структура SOCKADDR_INсодержит три значения (параметры сокета):
тип используемого адреса (константа AF_INETиспользуется для обозначения семействаIP-адресов);
номер порта (устанавливается значение 2000 с помощью функции htons)
адрес интерфейса .
Последний параметр определяет собственный IP-адрес сервера. При этом предполагается, что хост, в общем случае, может иметь несколькоIP-интерфейсов. Если требуется использовать определенныйIP-интерфейс хоста, то необходимо его здесь указать. Если выборIP-адреса не является важным илиIP-интерфейс один на хосте, то следует указать значениеINADDR_ANY(как это сделано в примере).
struct sockaddr_in {
short sin_family; //тип сетевого адреса
u_short sin_port; // номер порта
struct in_addr sin_addr; // IP-адрес
char sin_zero[8]; // резерв
};
SOCKET socket(
int af, //[in] формат адреса
int type, //[in] тип сокета
int prot //[in] протокол
);
параметр afдля стекаTCP/IPпринимает значениеAF_INET;
параметр typeможет принимать два значения:
SOCK_DGRAM– сокет, ориентированный на сообщения(UDP);
SOCK_STREEM– сокет ориентированный на поток;
старший номер версии;
параметр protопределяет протокол транспортного уровня:
для TCP/IPможно указатьNULL
- Стек протоколов tcp/ip. Публичные и частные пространства адресов, типы портов. Параметры настройкиTcp/ip.
- Понятие сокета. Основные параметры сокета.
- Интерфейс Nimed Pipe.
- Интерфейс MailSlot.
- Структура программы tcp-сервера.
- Структура программы tcp-клиента.
- Структура программы udp-сервера.
- Структура программы udp-клиента.
- Структура параллельного сервера.
- Структура параллельного сервера. AcceptServer.GarbageCleaner.
- Широковещание. Обнаружение сервера с помощью широковещания.
- Применение символического адреса хоста.
- Основные сетевые утилиты и их назначение.
- Служба dns.
- Служба dhcp.
- Стандарты сообщений Internet.
- Почтовая служба. Протоколы smtp,pop3.
- Протокол http.
- Служба rpCи технологияXml-rpc.
- Nat,proxy-серверы, межсетевые экраны, ремайлеры.
- Web-сервисы:soap,xml,wsdl,uddi.
- Национальная инфраструктура информационной безопасности.