Главная страница
Навигация по странице:

  • Windows

  • Наименование функции Назначение accept

  • Ответы к экзамену по ПСП. Физический уровень


    Скачать 216.84 Kb.
    НазваниеФизический уровень
    АнкорОтветы к экзамену по ПСП.docx
    Дата28.01.2018
    Размер216.84 Kb.
    Формат файлаdocx
    Имя файлаОтветы к экзамену по ПСП.docx
    ТипДокументы
    #14968
    страница3 из 11
    1   2   3   4   5   6   7   8   9   10   11

    4.Понятие сокета. Основные параметры сокета.


    Совокупность IP-адреса и номера порта называется сокетом. Сокет однозначно идентифицирует прикладной процесс в сети TCP/IP.

    API сокетов – это название программного интерфейса, предназначенного для обмена данными между процессами, находящимися на одном или на разных объединенных сетью компьютерах.

    В операционной системе Windows интерфейс сокетов имеет название WindowsSocketsAPI. 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



    1   2   3   4   5   6   7   8   9   10   11


    написать администратору сайта