Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
linux中套接字上的查询发送缓冲区使用情况_Linux_Sockets - Fatal编程技术网

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

linux中套接字上的查询发送缓冲区使用情况,linux,sockets,Linux,Sockets,在linux中是否可以查询套接字的发送缓冲区中有多少字节?我希望能够使用getsockopt查询SO_SNDBUF以获得缓冲区大小,然后[在此插入技术]以获得实际使用情况,这将让我知道我要填充多少缓冲区。这不是的功能,所以_SNDBUF的功能SO_SNDBUF设置或获取以字节为单位的最大套接字发送缓冲区(引用)。如果您正在使用或,您可能会使用SIOCOUTQ或TIOCOUTQioctls 然而,这不太可能是正确的方法。您是否考虑过使用类似select的机制在套接字可写时通知您?与非阻塞行为相结合

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

这不是
的功能,所以_SNDBUF
的功能
SO_SNDBUF
设置或获取以字节为单位的最大套接字发送缓冲区(引用)。如果您正在使用或,您可能会使用
SIOCOUTQ
TIOCOUTQ
ioctls


然而,这不太可能是正确的方法。您是否考虑过使用类似select的机制在套接字可写时通知您?与非阻塞行为相结合,它可能是一种干净方法的票。

如果我不是100%清楚,很抱歉,我想在创建套接字时使用SO_SNDBUF来获取总缓冲区大小,然后监视在任何给定时间实际使用的缓冲区大小。这是针对消息队列类型的应用程序的,我希望监视一些情况,以确保我的队列不会因为读卡器速度慢而慢慢填满。我想SIOCOUTQ正是我需要的。