каким образом можно узнать сколько свободно или занято в буфере tcp канала. я отсылаю send ом , в неблокирующем режиме. И хотелось бы класть в буфер столько сколько там свободного места, пока ядро отсылает данные.Пробовол ioctl() с TIOCQOU или (что то вроде), но вижу что врёт , показывает неправильный размер. Есть ли какие идеи. Заранее спасибо
>каким образом можно узнать сколько свободно или занято в буфере tcp канала.
>я отсылаю send ом , в неблокирующем режиме. И хотелось бы
>класть в буфер столько сколько там свободного места, пока ядро отсылает
>данные.Пробовол ioctl() с TIOCQOU или (что то вроде), но вижу что
>врёт , показывает неправильный размер. Есть ли какие идеи. Заранее спасибо
>1. я отсылаю send ом , в неблокирующем режиме.
2. хотелось бы класть в буфер столько сколько там свободного места.man send
man fcntlи подумайте, почему при O_NONBLOCK send(2) в любом случае будет удовлетворять п.2.
// wbr
>Пробовол ioctl() с TIOCQOUБуква T означает терминал.
С какой стати сокет должен подчиняться терминальным ioctl?
Попробуй SIOCINQ. :)