【发布时间】:2013-12-26 06:35:12
【问题描述】:
如何使套接字在 Internet 上工作?
对于 TCP 服务器,我在本地 IP 中创建了一个套接字,并设置了从路由器转发的端口。
对于客户端,我将路由器的 IP 地址指定为 PeerAddr(对等地址)。从远程计算机启动客户端时,它不起作用。
~抱歉,我现在清楚了,下面是 sn-p~
已更新:
服务器片段:
$server_socket = new IO::Socket::INET (
LocalHost => '192.168.0.4',
LocalPort => '1080',
Proto => 'tcp',
Listen => 300,
Reuse => 1,
Type => SOCK_STREAM,
)
or die "ERROR in Socket Creation: $!\n";
客户端片段:
my $socket = IO::Socket::INET->new (
PeerHost => '117.97.148.228',# router ip example
PeerPort => '1080',
Proto => 'tcp',
);
我错过了什么?
【问题讨论】:
-
“不工作”是什么意思。它会死吗?还是什么都不做?
-
抛出错误..“无法连接到 remote_host:: 请求的地址在其上下文中无效。”
-
您正在使用
LocalHost这意味着本地监听设备。您显示的错误与客户端有关 -
Stack Overflow 使用 markdown 语法来格式化帖子。请优先使用它而不是 HTML 标记。谢谢。
-
我是新人,以后会改正