FFL  1.0
Finfly Foundation Library
Классы | Открытые типы | Открытые члены | Закрытые члены | Закрытые данные | Друзья
Класс ffl::ipc::socket::address

Адрес сокета. Подробнее...

Полный список членов класса

Классы

struct  info
 Информация об адресе. Подробнее...

Открытые типы

enum  family { UNSPEC = AF_UNSPEC, INET4 = AF_INET, INET6 = AF_INET6 }
 Семейства адресов. Подробнее...
enum  hint { LOCAL, REMOTE }
 Сторона адреса для сокета. Подробнее...

Открытые члены

 address () throw ()
 Создать адрес с неопределенным значением.
 address (const address &_a) throw ()
 Копирование адреса.
 address (const socket &_s, hint _h=LOCAL) throw (...)
 Получить адрес сокета.

Закрытые члены

 address (struct sockaddr *_a, socklen_t _l) throw ()
 Создать адрес на основе структуры sockaddr.

Закрытые данные

sockaddr_storage Address
socklen_t Length

Друзья

class socket

Подробное описание

Адрес сокета.


Перечисления

Семейства адресов.

Элементы перечислений:
UNSPEC 

Семейство адресов не определено.

INET4 

4 версия протокола IP (Internet Protocol version 4).

INET6 

6 версия протокола IP (Internet Protocol varsion 6).

Сторона адреса для сокета.

Сокет может иметь два адреса. Локальный адрес может присваиваться посредством метода ipc::socket::bind или при создании сокета для входящего соединения. В последнем случае локальный адрес копируется из сокета-слушателя. Удаленный адрес существует для сокетов, для которых выполено соединение при вызове метода ipc::socket::connect или для сокетов, которые созданы для входящих соединений. Удаленным адресом сокета в этом случае будет адрес того сокета, с которым установлено соединение.

Элементы перечислений:
LOCAL 

Локальный адрес сокета.

REMOTE 

Удаленный адрес сокета.


Конструктор(ы)

ffl::ipc::socket::address::address ( struct sockaddr *  _a,
socklen_t  _l 
) throw () [private]

Создать адрес на основе структуры sockaddr.

Аргументы:
_aИсходная структура.
_lДлина адреса.
ffl::ipc::socket::address::address ( const address _a) throw () [inline]

Копирование адреса.

Аргументы:
_aИсходный адрес.
ffl::ipc::socket::address::address ( const socket _s,
hint  _h = LOCAL 
) throw (...)

Получить адрес сокета.

Аргументы:
[in]_sСокет.
[in]_hУказание для получения адреса.
Исключения:
failureОшибка при получении адреса.
Необходимо сделать:
Сейчас получает локальный адрес сокета. Нет возможности получить адрес удаленного сокета. Необходимо добавить дополнительный параметр, указывающий на то, какой адрес должен быть получен -- локальный или удаленный. Для получения удаленного адреса нужно сипользовать функцию getpeername.

Объявления и описания членов классов находятся в файлах:
 Указатель Классы Пространства имен Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Макросы