Perl - 网络 - 我如何处理超过 128 个套接字的 SOMAXCONN?

标签 perl nonblocking

我讨厌这种情况 (MACOSX)

$ perl -MSocket -le 'print SOMAXCONN'
128

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

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

最佳答案

这是 OS X 内核级别的可配置限制。幸运的是它很容易修复,但前提是你有根。这是 an article explaining how to tweak the kernel configuration .相关条目是 kern.ipc.somaxconn

否则你可以尝试使用线程,不确定每个线程是否有自己的套接字分配,或者任意数量的pre-forking servers on CPAN。 .

关于Perl - 网络 - 我如何处理超过 128 个套接字的 SOMAXCONN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13772330/

相关文章:

java - 我应该为 UDP 使用(非阻塞)NIO 吗?

javascript - 如何在函数体中将 JavaScript 函数参数用作 jQuery 选择器?

C - DNS 代理随时服务每个请求

node.js - 如何在 Node.JS 中编写异步 While 循环

perl - 在数组中搜索标量时,Perl智能匹配运算符有多快?

java - 如何在 webflux 中异步解析/写入 json? ObjectMapper 方法是阻塞的

security - 非阻塞框架对 DoS/DDoS 的影响

Perl:变量值为 'glob' ,但应该是 'scalar'

perl - 给定许多变量来测试定义性,如何(轻松)找出 undefined variable ?

perl - 如何在 Perl 中读取 Excel 文件?