這個問題實在令人費解對我說:我曾經的VMware Server 2.0上工作下面的腳本:perl腳本在VMware Server的工作,但未能VMware 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;
}
它的工作原理的VMware服務器上的偉大。我已經克隆此虛擬機到服務器EXSi但在運行虛擬機完全相同的副本運行該腳本,我得到以下錯誤:
不能調用一個未定義值法「mcast_if」
我真的很困惑,因爲我不知道問題可能是什麼。 除了在兩臺機器上運行CPU之外,沒有什麼區別,但我不明白如此低的級別會導致問題,但我可能是錯的。 perl -d不是很有幫助。 謝謝。
是的,這完全有幫助,我有點尷尬。這個虛擬機有一個腳本,可以重置路由,使其不包含缺省的GW,因爲它是一個包含的環境。由於該虛擬機沒有mcast通信的路由,因此無法創建套接字。感謝您及時的回覆。 – salparadise 2012-03-02 01:07:35