查询linux中套接字上的缓冲区使用情况

时间:2012-03-20 19:47:03

标签: linux sockets

是否可以查询linux中套接字发送缓冲区中的字节数?我希望能够使用getsockopt查询SO_SNDBUF以获取缓冲区大小,然后[在此处插入技术]以获取实际用法,这将让我知道我填充了多少缓冲区。

1 个答案:

答案 0 :(得分:1)

这不是SO_SNDBUF所做的。 SO_SNDBUF 以字节为单位设置或获取最大套接字发送缓冲区(引用socket(7))。如果您使用tcpudp,则可以使用SIOCOUTQTIOCOUTQ ioctl。

但是,这种方法极不可能。您是否考虑使用类似选择的机制在套接字可写时通知您?结合非阻塞行为,它可能是一个干净的方法的门票。