linux中套接字上的查询发送缓冲区使用情况
在linux中是否可以查询套接字的发送缓冲区中有多少字节?我希望能够使用getsockopt查询SO_SNDBUF以获得缓冲区大小,然后[在此插入技术]以获得实际使用情况,这将让我知道我要填充多少缓冲区。这不是linux中套接字上的查询发送缓冲区使用情况,linux,sockets,Linux,Sockets,在linux中是否可以查询套接字的发送缓冲区中有多少字节?我希望能够使用getsockopt查询SO_SNDBUF以获得缓冲区大小,然后[在此插入技术]以获得实际使用情况,这将让我知道我要填充多少缓冲区。这不是的功能,所以_SNDBUF的功能SO_SNDBUF设置或获取以字节为单位的最大套接字发送缓冲区(引用)。如果您正在使用或,您可能会使用SIOCOUTQ或TIOCOUTQioctls 然而,这不太可能是正确的方法。您是否考虑过使用类似select的机制在套接字可写时通知您?与非阻塞行为相结合
的功能,所以_SNDBUF
的功能SO_SNDBUF
设置或获取以字节为单位的最大套接字发送缓冲区(引用)。如果您正在使用或,您可能会使用SIOCOUTQ
或TIOCOUTQ
ioctls
然而,这不太可能是正确的方法。您是否考虑过使用类似select的机制在套接字可写时通知您?与非阻塞行为相结合,它可能是一种干净方法的票。如果我不是100%清楚,很抱歉,我想在创建套接字时使用SO_SNDBUF来获取总缓冲区大小,然后监视在任何给定时间实际使用的缓冲区大小。这是针对消息队列类型的应用程序的,我希望监视一些情况,以确保我的队列不会因为读卡器速度慢而慢慢填满。我想SIOCOUTQ正是我需要的。