2010-11-15 2 views
5

У меня довольно простой UDP-сервер, написанный на c. Иногда мне нужно знать текущую длину всех udp-пакетов (байтов), поставленных в очередь в сокете. Как я понимаю, getockopt не получает такую ​​информацию.Текущая длина очереди udp

Решения Linux и FreeBSD приветствуются, спасибо!

ответ

3

ioctl(FIONREAD, ...) должно быть примерно то, что вы ищете,

http://www.daemon-systems.org/man/ioctl.2.html

+0

Да, вы правы! Большое спасибо! – kost

+1

На самом деле это не работает на Linux. См. Http://stackoverflow.com/questions/9278189/how-do-i-get-amount-of-queued-data-for-udp-socket – Anne

1

С внешней стороны сервера (из командной строки), вы можете сделать

netstat -uln

, который покажет вам длина всех прослушивающих сокетов udp.

Смежные вопросы