我试图使用 perl 创建一个 tcp 套接字服务器。我成功地创建了一个侦听特定端口的服务器。但是在服务一个客户端请求之后,Socket 服务器正在关闭。服务器未侦听多个客户端请求。
while (accept(Client, Server)) {
# do something with new Client connection
if ($kidpid = fork) {
close Client; # parent closes unused handle
#next REQUEST;
next REQUEST if $!{EINTR};
}
print "$kidpid\n";
defined($kidpid) or die "cannot fork: $!" ;
close Server; # child closes unused handle
select(Client);
$| = 1; ]
select (STDOUT);
# per-connection child code does I/O with Client handle
$input = <Client>;
print Client "output11\n"; # or STDOUT, same thing
open(STDIN, "<<&Client") or die "can't dup client: $!";
open(STDOUT, ">&Client") or die "can't dup client: $!";
open(STDERR, ">&Client") or die "can't dup client: $!";
print "finished\n";
close Client;
exit;
}
我无法在上面的代码中找到问题。有人可以帮我解决这个问题吗?