找出异步套接字绑定到的端口吗?

时间:2019-03-03 08:02:42

标签: perl6 asyncsocket

从Perl 6版本6.d开始,您可以使用端口0来要求解释器为您找到要绑定的端口:

my $socket = IO::Socket::Async.listen($SOCKET_ADDR, 0);

但是,$ socket是一个Supply,没有关于它所使用的低级套接字的信息。查找绑定到哪个端口的方法是什么?

1 个答案:

答案 0 :(得分:8)

tap $socket变量时,您将返回一个(当前未记录的IO::Socket::Async::ListenSocket对象。它有两种方法socket-portsocket-hostPromisesmy $s = IO::Socket::Async.listen("127.0.0.1",0); my $t = $s.tap; my $p = await $t.socket-port; $p.say; ,因此在解析时具有正确的值。

我们可能可以整理一下文档来表明这一点。

示例:

{{1}}