#!/usr/bin/perl
use warnings; use strict;
use IO::Socket::INET;
our $local_host = "0.0.0.0";
our $local_port = "14267";
$SIG{'CHLD'} = 'IGNORE';
my $bind = IO::Socket::INET->new(
Listen=>5,
LocalAddr=>$local_host.':'.$local_port,
ReuseAddr=>1)
or die print('Could not bind: ' .$local_host.':'.$local_port);当我尝试从终端执行此代码时,它可以工作,但当我尝试从浏览器执行它时,它返回无法绑定等。
有人能给我解释一下问题出在哪里吗?我认为这不是关于用户特权的问题。
发布于 2016-04-14 19:44:18
你怎么可能知道它不能绑定呢?无论发生什么错误,您总是记录“无法绑定”!更重要的是,您不会记录发生了什么错误!第一步是纠正这一点。
#!/usr/bin/perl
use warnings; use strict;
use IO::Socket::INET;
my $local_port = 14267;
my $server_socket = IO::Socket::INET->new(
LocalPort => $local_port,
Listen => 5,
ReuseAddr => 1,
)
or die("Can't create server socket: $@"); # <-- The relevant change.我怀疑你会因为像SElinux这样的安全框架而得到某种权限错误。
https://stackoverflow.com/questions/36611589
复制相似问题