我的代码如下:
my $PORT = 5555;
# set up the socket SERVER, bind and listen ...
my $lsn = new IO::Socket::INET(Listen => 5,
Type => SOCK_STREAM,
Proto => 'tcp',
Reuse => 1,
LocalPort => $PORT);
$SIG{CHLD} = sub {wait()};
my ($child, $pid);
while ($child = $lsn->accept()) {
print "Accepted!
";
$pid = fork;
die "fork: $!" unless defined $pid;
if($pid == 0) {
ServOnClient($child);
$child->shutdown(2);
exit;
}
else {
print "Accepting...
";
}
}
$lsn->close;
我不知道问题出在哪里,这个服务程序只能服务一个Client,然后就自己退出了!可我那个exit明
明是在子进程里的,而父进程是不断while(accept)的。
不懂,请教大虾!!