如果无法初始化守护程序本身,如何调试错误代码:
my $d = HTTP::Daemon->new(LocalAddr=>$ae::Settings{ip},
LocalPort=>$ae::Settings{port},
ReuseAddr=>'1') || die "error";
我想要的是更具体的错误代码而不是简单的“死亡”。例如,如果我无法绑定到某些端口,等
答案 0 :(得分:1)
初始化底层套接字时,您可以检查$!
(即底层系统调用中的errno)是否存在问题。而不是在HTTP::Daemon::new
HTTP::Daemon->new(...) or die "error: $!"
答案 1 :(得分:0)
如果我不是root用户,而是针对特权(< 1024)端口或已经在使用的更高端口运行此命令:
#!perl
# HTTP_daemon.pl
use HTTP::Daemon;
use warnings;
my $d = HTTP::Daemon->new(LocalAddr=>"127.0.0.1",
LocalPort=>"88",
ReuseAddr=>'1') || die "$!";
我明白了:
Permission denied at HTTP_daemon.pl line 4.
对于与HTTP相关的错误和状态代码,请使用HTTP::Status
。