从 Perl 6 的 6.d 版本开始,您可以使用端口 0
要求解释器找到一个端口来为你绑定(bind):
my $socket = IO::Socket::Async.listen($SOCKET_ADDR, 0);
但是,$socket 是
Supply
没有关于它正在使用的低级套接字的信息。查找绑定(bind)到哪个端口的方法是什么?
最佳答案
当你tap
$socket
你得到的变量(当前未记录)IO::Socket::Async::ListenSocket
目的。这有几个方法socket-port
和 socket-host
是Promises
然后当他们解决时具有正确的值。
我们可能可以整理文档以表明这一点。
例子 :
my $s = IO::Socket::Async.listen("127.0.0.1",0);
my $t = $s.tap;
my $p = await $t.socket-port;
$p.say;
关于raku - 找出异步套接字绑定(bind)的端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54966762/