Класс so_4::socket::socket_t

Граф наследования:so_4::socket::socket_t:

so_4::socket::socket_accepted_t so_4::socket::socket_client_t so_4::socket::socket_server_t Полный список членов класса

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

Базовый класс для сокетов.

Может использоваться для непосредственной работы с датаграммными сокетами.

Для работы с потоковыми сокетами предназначены классы so_4::socket::socket_client_t, so_4::socket::socket_accepted_t и so_4::socket:: socket_server_t.

Внимание:
в текущей версии ориентирован на IP-соединения. (Протокол PF_INET).


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

 socket_t ()
 Конструктор не создает сокет.
virtual ~socket_t ()
 Деструктор закрывает сокет, если нужно.
int create (bool bStreamSocket)
 Создать потоковый или датаграммный сокет.
int bind (const socket_addr_t &addr)
 Назначить сокету адрес.
int recvfrom (socket_addr_t &addr, char *buffer, unsigned int bufferSize)
 Получить датаграмму.
int sendto (const socket_addr_t &addr, const char *buffer, unsigned int bufferSize)
 Отправить датаграмму.
int read (char *buffer, unsigned int bufferSize, unsigned int &readedBytes)
 Прочитать данные из потокового сокета.
int write (const char *buffer, unsigned int bufferSize)
 Отправить данные в потоковый сокет.
int write (const char *buffer, unsigned int bufferSize, unsigned int &bytes_written)
 сколько байт было записано.
int is_readable (unsigned int millisec) const
 Определение наличия данных для чтения.
int is_writeable (unsigned int millisec) const
 Определение возможности записи в сокет.
int query_handle () const
 Системный идентификатор сокета.
void close ()
 Закрыть сокет.
void enable_nonblocking ()
 Перевести сокет в неблокирующий режим.
void disable_nonblocking ()
 Перевести сокет в блокирующий режим.

Открытые атрибуты

int m_socket


Методы

int so_4::socket::socket_t::bind const socket_addr_t addr  ) 
 

Назначить сокету адрес.

Должен использоваться для датаграммных и серверных сокетов.

int so_4::socket::socket_t::create bool  bStreamSocket  ) 
 

Создать потоковый или датаграммный сокет.

Аргументы:
bStreamSocket  Должен содержать true, если нужно создать потоковый сокет.

void so_4::socket::socket_t::disable_nonblocking  ) 
 

Перевести сокет в блокирующий режим.

Начиная с:
2004.07.14
По-умолчанию, сокет находится в блокирующем режиме.

void so_4::socket::socket_t::enable_nonblocking  ) 
 

Перевести сокет в неблокирующий режим.

Начиная с:
2004.07.14

int so_4::socket::socket_t::is_readable unsigned int  millisec  )  const
 

Определение наличия данных для чтения.

Если данные есть, возвращается c_ok. Если истек тайм-аут, то возвращается c_time_out.

Аргументы:
millisec  Время ожидания в миллисекундах. Выход осуществляется до истечения тайм-аута, если в сокете появились данные.

int so_4::socket::socket_t::is_writeable unsigned int  millisec  )  const
 

Определение возможности записи в сокет.

Если сокет готов для записи, возвращается c_ok. Если истек тайм-аут, то возвращается c_time_out.

Аргументы:
millisec  Время ожидания в миллисекундах. Выход осуществляется до истечения тайм-аута, если сокет перешел в состояние готовности к записи.

int so_4::socket::socket_t::write const char *  buffer,
unsigned int  bufferSize,
unsigned int &  bytes_written
 

сколько байт было записано.

Начиная с:
v.4.2.6
Аргументы:
bytes_written  Приемник количества записанных байт.

int so_4::socket::socket_t::write const char *  buffer,
unsigned int  bufferSize
 

Отправить данные в потоковый сокет.

Возвращает c_write_failed, если количество отправленных байт на совпадает с bufferSize.


Документация по SObjectizer. Последние изменения: Thu Jan 12 10:52:52 2006. Создано системой  doxygen 1.4.6-NO
Hosted by uCoz