Ios IO::Socket::INET返回一个空套接字

Ios IO::Socket::INET返回一个空套接字,ios,perl,sockets,Ios,Perl,Sockets,这是我的代码: my $server_socket = new IO::Socket::INET ( LocalPort => 8378, Type => SOCK_STREAM, Listen => $SOMAXCONN, Proto => 'tcp', Reus

这是我的代码:

 my $server_socket = new IO::Socket::INET
            (
                LocalPort => 8378,
                Type      => SOCK_STREAM,
                Listen    => $SOMAXCONN,
                Proto     => 'tcp',
                Reuse     => 1
            ) || die "$!\n";

        $serverName   = $ENV{COMPUTERNAME};
        $socketPortNr = 8378;
        $clientSocket = new IO::Socket::INET (PeerAddr => $serverName,
                                                  PeerPort => $socketPortNr,
                                                  Proto    => 'tcp');
但是
$clientSocket
是空的


$clientSocket
的原因是什么?

没有必要猜测。如其文档中的示例所示,
IO::Socket::INET->new
在失败时在
$@
中放置一条错误消息

my $client_socket = new IO::Socket::INET->new(
   ...
)
   or die("Can't create client socket: $@\n");

$!
也已设置,尽管它提供的信息并不总是那么精确。)

始终在代码中使用
使用警告和
使用严格的
。当我使用严格时,变量初始化出现错误,脚本停止。请首先声明所有变量。同一脚本在Windows 7 ultimate计算机上成功运行。我在Windows 7 enterprise中面临问题。所以我认为严格使用不会有问题。
my$sock=IO::Socket::INET->new(…)或die$。<代码>$将告诉您出了什么问题