我使用HTTP :: Daemon进行一些测试:
use HTTP::Daemon;
use HTTP::Status;
my $d = HTTP::Daemon->new || die;
print "Please contact me at: <URL:", $d->url, ">\n";
while (my $c = $d->accept) {
while (my $r = $c->get_request) {
if ($r->method eq 'GET') {
# do some action (about 10s)
}
else {
$c->send_error(RC_FORBIDDEN)
}
}
$c->close;
undef($c);
}
它工作正常,但如果我在10秒内做更多请求,则请求排队(我通过$ d-&gt;接受所有请求)
我想要的是以下内容:如果客户端启动请求,则不应排队其他任何请求 我尝试使用Listen选项,但没有成功。
有什么建议吗?
答案 0 :(得分:4)
HTTP ::守护程序不会为您解决问题,并明确告诉您in its documentation。
此HTTP守护程序不会为您分叉(2)。你的申请,即 “HTTP :: Daemon”的用户负责分支,如果是的话 可取的。另请注意,用户负责生成 符合HTTP / 1.1协议的响应。
如果您的回答时间太长,请拨打回答。或者使用其他模块。
答案 1 :(得分:2)