为什么Windows上的ActivePerl程序停止接受套接字连接?

Dar*_*ush 5 sockets windows perl activeperl

我正在使用fork()Windows上的Perl(ActivePerl)作为基本套接字服务器,但显然存在问题(几次后它不会接受连接),有没有解决方法?

以下是相关代码的一部分:

while($client = $bind->accept()) {
    $client->autoflush();
    if(fork()){ $client->close(); }
    else { $bind->close(); new_client($client); exit(); }
}
Run Code Online (Sandbox Code Playgroud)

hob*_*bbs 6

我建议安装Net :: Server并使用它,因为你可能没有令人信服的理由让你自己编写所有的监听和分支逻辑,Net :: Server已经过很好的测试,可以在很多平台上工作,包括ActivePerl .该网::服务器::叉性格最相似的你写的代码,但我建议使用网::服务器:: prefork的替代,因为它以最低的成本提供更好的性能.