gpt4 book ai didi

perl - 我如何告诉 Perl 的 IO::Socket::INET 使用哪个接口(interface)?

转载 作者:行者123 更新时间:2023-12-02 09:02:49 26 4
gpt4 key购买 nike

我的服务器上有两个接口(interface),eth0 和 eth0:0。这是两个不同的外部 IP 地址,显然也是两个不同的反向域。

当我打开 IO::Socket::INET 连接时,Perl 默认使用 eth0 接口(interface)。我想使用第二个接口(interface) (eth0:0),因为它具有不同的 IP,并且我不想使用我的主 IP 或域。

我完全不知道如何选择通过哪个接口(interface)进行连接。

这是我用来打开套接字的代码:

my $sock = new IO::Socket::INET(PeerAddr    => $server,
PeerPort => $serverPort,
Proto => 'tcp') or
die "Can't connect to server: $!";

最佳答案

你必须给出IO::Socket::INET您要用作 LocalAddr 参数的接口(interface)地址。假设10.0.0.1是eth0的IP地址,10.0.0.2是eth0:0的IP地址,那么它会像这样工作。

my $sock = new IO::Socket::INET(PeerAddr    => $server,
PeerPort => $serverPort,
Proto => 'tcp'
LocalAddr => '10.0.0.2') or
die "Can't connect to server: $!";

关于perl - 我如何告诉 Perl 的 IO::Socket::INET 使用哪个接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2432499/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com