2

我讨厌这种情况(MACOSX)

$ perl -MSocket -le 'print SOMAXCONN'
128

如何处理超过 128 个套接字?我正在使用 IO::Socket::INET (此时与 IO::Select 多路复用)但我有这个限制。

我在考虑 pre-fork N 进程(每个处理 128 使用 select 或 poll),但我不知道它是否可以工作。一些想法?

4

1 回答 1

5

这是 OS X 内核级别的可配置限制。幸运的是,它很容易修复,但前提是你有 root。这是一篇解释如何调整内核配置的文章。相关条目是kern.ipc.somaxconn

否则,您可以尝试使用线程,不确定每个线程是否获得自己的套接字分配,或者CPAN 上的任意数量的预分叉服务器

于 2012-12-08T00:01:26.830 回答