C 如何查找在Linux上使用unix域套接字连接的两个客户端之间缓冲的数据

C 如何查找在Linux上使用unix域套接字连接的两个客户端之间缓冲的数据,c,sockets,unix,C,Sockets,Unix,我有一个生产者和一个客户端使用Unix域套接字连接。netstat-nap命令显示TCP/IP套接字(而非Unix域套接字)的两个进程之间缓冲的数据量 如何从代码外部找出Unix域套接字的发送缓冲区和接收缓冲区大小?netstat不符合POSIX。这意味着您在不同的操作系统上运行netstat可能无法获得相同的信息。tcp/ip缓冲区设置通常是默认的系统设置 您必须登录这两个框才能运行netstat以获取套接字的tcp内部信息。我相信你已经知道了,但我想说清楚。从Linux到其他操作系统,tcp

我有一个生产者和一个客户端使用Unix域套接字连接。netstat-nap命令显示TCP/IP套接字(而非Unix域套接字)的两个进程之间缓冲的数据量


如何从代码外部找出Unix域套接字的发送缓冲区和接收缓冲区大小?

netstat不符合POSIX。这意味着您在不同的操作系统上运行netstat可能无法获得相同的信息。tcp/ip缓冲区设置通常是默认的系统设置

您必须登录这两个框才能运行netstat以获取套接字的tcp内部信息。我相信你已经知道了,但我想说清楚。从Linux到其他操作系统,tcp系统信息的位置大不相同,比如Solaris


UNIX box上的
uname-a
的输出是什么?

uname-a Linux 2.6.24-19-generic#1 SMP,但是客户端和生产者使用UNIX域套接字()在同一台机器上。我要找的是类似于netstat的东西,它显示缓冲的数据(SendQ和RecQ)对于Unix域套接字。/sbin/sysctl-p net.core.rmem_max和/sbin/sysctl-p net.core.wmem_max提供当前的读写缓冲区大小设置。您可以使用setsockopt()根据每个套接字更改此设置,或通过编辑/etc/sysctl.conf并使用sysctl-s在系统范围内使用。没有netstat命令显示每个套接字的值。加上netstat程序已过时。普通netstat的替换为ss。netstat-r的替换为ip路由。netstat-i的替换为ip-s链接。netstat-g的替换为ip maddr。