이 문제는 정말 나에게 당혹에 VM웨어 서버에서 작업하지만 실패 : 나는 다음 스크립트는 VM웨어 서버 2.0에서 작업 한 : 그것은 VM웨어 서버에서 잘 작동펄 스크립트는 VM웨어 ESXi를
#!/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;
}
. 나는 EXSi 서버에이 VM을 복제하지만 스크립트를 실행하는 가상 머신의 똑같은 복사본을 실행, 나는 다음과 같은 오류가 있습니다 :
정의되지 않은 값에 방법 "mcast_if"호출 할 수 없습니다
저는이 문제가 무엇인지 확신 할 수 없기 때문에 정말로 혼란 스럽습니다. 두 컴퓨터에서 실행되는 CPU를 제외하고는 다른 점이 전혀 없지만 저급 수준이 문제를 일으킬 수있는 방법을 모르지만 잘못 될 수 있습니다. perl -d는별로 도움이되지 못했습니다. 감사합니다. .
예, 완전히 도움이되었고 약간 당황했습니다. 이 VM 사용자는 경로가 포함 된 환경이므로 기본 GW를 프로덕션에 포함하지 않도록 재설정하는 스크립트를 가지고 있습니다. 이 VM에는 mcast 트래픽에 대한 경로가 없으므로 소켓을 만들지 못합니다. 빠른 답변 감사합니다. – salparadise