Эта проблема действительно озадачивает меня: у меня есть следующий скрипт, работающий на vmware server 2.0:
#!/usr/local/bin/perl
# server (transmitter)
use strict;
use IO::Socket::Multicast6;
use IO::Interface;
use constant GROUP => "235.1.1.2";
use constant PORT => "3000";
my $sock = IO::Socket::Multicast6->new(
Proto=>"udp",
Domain=>AF_INET,
PeerAddr=>GROUP,
PeerPort=>PORT);
$sock->mcast_if("eth1");
$sock->mcast_ttl(10);
while (1) {
my $message = localtime();
$sock->send($message) || die "Could not send: $!";
} continue {
sleep 4;
}
Отлично работает на сервере vmware. Я клонировал эту виртуальную машину на сервер EXSi, но выполняю ту же самую копию виртуальной машины, на которой выполняется сценарий, и получаю следующую ошибку:
Невозможно вызвать метод "mcast_if" для неопределенного значения
Я действительно озадачен этим, поскольку я не уверен, в чем может быть проблема.
на самом деле ничто не отличается, за исключением того, что процессор работает на обеих машинах, но я не понимаю, как такой низкий уровень может вызвать проблемы, но я могу ошибаться. Perl -d не очень помог.
Благодарю.