标签: linux sockets
是否可以查询linux中套接字发送缓冲区中的字节数?我希望能够使用getsockopt查询SO_SNDBUF以获取缓冲区大小,然后[在此处插入技术]以获取实际用法,这将让我知道我填充了多少缓冲区。
答案 0 :(得分:1)
这不是SO_SNDBUF所做的。 SO_SNDBUF 以字节为单位设置或获取最大套接字发送缓冲区(引用socket(7))。如果您使用tcp或udp,则可以使用SIOCOUTQ或TIOCOUTQ ioctl。
SO_SNDBUF
socket(7)
SIOCOUTQ
TIOCOUTQ
但是,这种方法极不可能。您是否考虑使用类似选择的机制在套接字可写时通知您?结合非阻塞行为,它可能是一个干净的方法的门票。