我有一个问题源于IO/Socket.pm在第251行或附近。
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";
}发布于 2011-04-12 03:23:56
$sock = IO::Socket::INET->new(PeerAddr => '255.255.255.255',
PeerPort => '5038',
Proto => 'tcp');对于TCP协议,255.255.255.255不是有效的单播IP地址。在本例中,IO::Socket::INET将255.255.255.255视为域名。它将通过使用主机名255.255.255.255查询您的DNS服务器来请求IP地址。显然没有这样的记录,DNS查询操作将是超时。这就是为什么你在10~20秒后出错的原因。
https://stackoverflow.com/questions/5627017
复制相似问题