Bei der Definition des Zugriffs auf eine Remote Instanz wird aktuell für die Adresse der Remoteinstanz nur eine IPV4 Adresse unterstützt.
Ich möchte gerne einen Hostnamen verwenden, weil die IP Adressen bei mir nicht statisch sind und auch die aktiven Interfaces (LAN/WLAN) wechseln.
Ursache ist die Zeile 191, diese habe ich erstmal von
if($dev =~ m/^([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}).*/ ) {
in
if($dev =~ m/^([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}).*/ || $dev =~ m/[^:]+:[0-9]+/) {
geändert.
Das funktioniert dann nur, wenn auch eine Portnummer mit angegeben wird.
Ich bin mir nicht sicher, wie man zweifelsfrei eine Remoteaddresse von einem Audiodevice unterscheiden kann. Besser wäre wahrscheinlich, das durch einen zusätzlichen Parameter explizit zu unterscheiden.
Ergänzung:
Damit Geräte mit mehreren IP-Adressen zuverlässig angesprochen werden, muss beim Verbindungsaufbau noch der Parameter MultiHomed gesetzt werden:
if($hash->{SSL}) {
eval "use IO::Socket::SSL";
Log3 $name, 1, $@ if($@);
$conn = IO::Socket::SSL->new(PeerAddr => "$dev", MultiHomed => 1) if(!$@);
} else {
$conn = IO::Socket::INET->new(PeerAddr => $dev, MultiHomed => 1);
}
Habe Multihomed ergänzt. Danke...