首页 文章

如何在Erlang中获取UDP的短暂端口?

提问于
浏览
1

我正试图找到一种方法来打开一个短暂的端口(https://en.wikipedia.org/wiki/Ephemeral_port基本端口,而不必提供特定的端口号,并从短暂的端口范围) . 这是通过UDP协议的客户端请求 . 我知道如何通过以下方式打开UDP通信的特定端口:

{ok,Socket} = gen_udp:open(8000).

但是,不要提前知道可用的端口号,只要系统提供一个,如果可能的话 . 有任何关于如何在Erlang中做到最好的建议或想法?

1 回答

  • 3

    以与在C中相同的方式执行:指定端口0 .

    1> {ok, S1} = gen_udp:open(0).
    {ok,#Port<0.541>}
    2> {ok, S2} = gen_udp:open(0).
    {ok,#Port<0.547>}
    3> {ok, S3} = gen_udp:open(0).
    {ok,#Port<0.548>}
    4> inet:port(S1).
    {ok,55398}
    5> inet:port(S2).
    {ok,44963}
    6> inet:port(S3).
    {ok,58993}
    

相关问题