Unix域套接字是否有最大连接数限制?

5
2个回答

3

我发现UNIX域套接字存在两个限制:

1- 基于每个进程可以打开的并发文件描述符数量的限制: 每个进程可以打开的文件数是有限制的,需要减去一些已经使用的文件描述符,因此默认情况下一个进程最多能够处理1014个并发连接,但是可以使用ulimit命令更改此限制。 了解更多信息请参阅https://titanwolf.org/Network/Articles/Article?AID=2fbb967c-c507-4798-990d-edc3a9b132a8

2- 自动绑定功能的地址大小限制,如果您正在使用自动绑定功能或安全标志,则地址限制为2^20个自动绑定地址。从Linux 2.1.15开始添加自动绑定功能时,使用了8个字节,因此限制为2^32个自动绑定地址。更改为5个字节是在Linux 2.3.15中进行的。 了解更多信息请参阅https://man7.org/linux/man-pages/man7/unix.7.html


1
如果您要依赖autobind提供地址,则现代内核上会有2^20的地址空间限制,在unix(7)手册中有所介绍。
我认为在实际操作中,您所说的限制应该是打开文件的数量。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接