NWS*_*NWS 5 linux files socket
我想知道是否有一种简单的方法可以找到 Linux 套接字支持的最大大小?(这是可配置的吗?如果是,在哪里?)
例如,网络上的大多数套接字示例都发送“Hello Socket”或其他一些小字符串,但是如果我将整个战争与和平放入套接字中,它何时会中断?
由于一切都是一个文件,它是最大文件大小吗?socket连接不同的文件系统时如何协调?
我对流套接字最感兴趣。
你没有说是什么类型的插座。
您可以(根据定义)发送无限量的数据。如果不能一次全部缓冲或发送,或者如果接收器不能一次全部接收,发送将阻塞(对于阻塞套接字)或返回写入的部分字节数或EAGAIN(对于非阻塞套接字)。
这取决于协议。UDPv4 仅支持每个数据报 65536 字节。UDPv6 支持更多。UNIX 域套接字可能支持更多:在这种情况下,您可能只是受内存限制。
小智 8
net.core.rmem_max和net.core.wmem_max是你的事。您可以检查它们的值
# sysctl net.core.rmem_max
Run Code Online (Sandbox Code Playgroud)
并将它们设置为
# sysctl -w net.core.rmem_max=8388608
Run Code Online (Sandbox Code Playgroud)
这些分别是接收和发送时的套接字缓冲区大小。它们也有默认值 -rmem_default和wmem_default.