Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl IO::Socket-无法确定对等地址_Perl - Fatal编程技术网

Perl IO::Socket-无法确定对等地址

Perl IO::Socket-无法确定对等地址,perl,Perl,我在第251行或其附近遇到IO/Socket.pm引起的问题 croak 'send: Cannot determine peer address' unless($peer); 基本上,我们正在打开一个连接,并向它发送数据。由于某种原因,在10-20秒后会抛出此错误 发送:无法确定对等地址 有什么想法吗 #!/usr/bin/perl package Dialer; use Data::Dumper; use IO::Socket; $sock = IO::S

我在第251行或其附近遇到IO/Socket.pm引起的问题

    croak 'send: Cannot determine peer address'
     unless($peer);
基本上,我们正在打开一个连接,并向它发送数据。由于某种原因,在10-20秒后会抛出此错误

发送:无法确定对等地址

有什么想法吗

    #!/usr/bin/perl

package Dialer;

use Data::Dumper;
use IO::Socket;

$sock = IO::Socket::INET->new(PeerAddr => '255.255.255.255',
                                 PeerPort => '5038',
                                 Proto    => 'tcp');

$res = $sock->send("Action: Login\r\nUsername: dunzo\r\nSecret: 123456789\r\nEvents: \r\n\r\n");
sleep(5);


while(1==1) {
        $res = $sock->send("Action: Originate\r\nChannel: Local/123123@dunzodial\r\nExten: 123123\r\nContext: dunzo\r\nTimeout: 60000\r\nVariable: \r\nAsync: yes\r\nCallerID:               
1234567890\r\nPriority: 1\r\n\r\n");
        $incr++;
        sleep(1);
        print $incr."\n";
}

对于TCP协议,
255.255.255.255
不是有效的单播IP地址。在本例中,IO::Socket::INET将
255.255.255.255
视为域名。它将通过查询主机名为
255.255.255.255
的DNS服务器来请求IP地址。显然没有这样的记录,DNS查询操作将超时。这就是为什么在10~20秒后出现错误

TCP还是UDP?是否已连接(构造函数中的PeerAddr)?您将哪些参数传递给
send
?请粘贴您的脚本(当然是相关部分)
$sock = IO::Socket::INET->new(PeerAddr => '255.255.255.255',
                             PeerPort => '5038',
                             Proto    => 'tcp');