Я пытаюсь программно отследить объем данных в моем приемном буфере.Я получаю данные UDP.После некоторых исследований кажется, что единственный способ сделать это в Linux - это посмотреть / proc / net / udp.Это кажется хорошим решением, пока я не осознал, что два приложения могут прослушивать одну и ту же группу многоадресной рассылки, и мне нужно разделить их.Похоже, что я должен сделать это, определив, какой у меня индекс,кажется, что функции недоступны.
Может кто-нибудь помочь мне выяснить, какая строка в / proc / net / udp принадлежит моему приложению?
Я начал использовать вызов ioctl (handle, FIONREAD, & bytesInBuffer) только для того, чтобы обнаружить, что в Linux это возвращает только размер первого пакета дейтаграммы в буфере.
Похоже, Google предлагает использовать вызов sockfd_lookup для получения inode, но grep в моем / usr / local / include / не возвращает эти функции.
Мой linux / net.Кажется, что он довольно голый по сравнению с некоторыми, которые я могу найти в Google, который включает структуры типа «сокет», в котором есть элемент sock, который, как мне кажется, содержит информацию об узле.Мой linux / net.h только для CentO имеет длину 58 строк и содержит всего #defines и enum.