Сокеты - взодящий буфер

Модератор: Модераторы разделов

Аватара пользователя
agbr
Сообщения: 486
ОС: openSUSE 10.2

Сокеты - взодящий буфер

Сообщение agbr »

Как узнать ( и можно ли? ) количество символов в буфере, т.е. сколько можно прочитать до того, как чтение будет заблокировано/вернет EAGAIN.

p.s. а под оффтопом? :)
jabber: agbr@jabber.ru

против проприетарного ПО в GNU/Linux
Спасибо сказали:
Аватара пользователя
flook
Сообщения: 585
Статус: Просто flook

Re: Сокеты - взодящий буфер

Сообщение flook »

agbr писал(а):
24.09.2005 13:46
Как узнать ( и можно ли? ) количество символов в буфере, т.е. сколько можно прочитать до того, как чтение будет заблокировано/вернет EAGAIN.

p.s. а под оффтопом? :)

man 2 recv: ищите параметр MSG_PEEK.
В каждом из нас спит гений... и с каждым днем все крепче...
Спасибо сказали:
Аватара пользователя
agbr
Сообщения: 486
ОС: openSUSE 10.2

Re: Сокеты - взодящий буфер

Сообщение agbr »

Я нашел вот так:

Код: Выделить всё

    size_t nbytes = 0;
    // gives shorter than true amounts on Unix domain sockets.
    if ( ::ioctl(fd, FIONREAD, (char*)&nbytes) < 0 )
    return -1;
jabber: agbr@jabber.ru

против проприетарного ПО в GNU/Linux
Спасибо сказали: