Erlang中文手册(Erldoc.com)  »  inet  »  port/1
Erlang并发编程 Erlang/OTP设计原理 Erlang/OTP[pdf] Mnesia用户手册[pdf] Erlang完整手册[en] 官网手册[en] 模块列表 方法列表 随机 Erlang中文社区(BBS) 美女图库

inet:port/1

返回一个套接字的本地端口号

用法:

port(Socket) -> {ok, Port} | {error, any()}

内部实现:

-spec port(Socket) -> {'ok', Port} | {'error', any()} when
      Socket :: socket(),
      Port :: port_number().

port(Socket) ->
    case prim_inet:sockname(Socket) of
	{ok, {_,Port}} -> {ok, Port};
	Error -> Error
    end.

返回一个套接字 Socket 的本地端口号。

获取由函数 gen_tcp:listen/2 建立的套接字所监听的端口:

{Rand, _RandSeed} = random:uniform_s(9999, erlang:now()),
Port = 40000 + Rand,
case gen_tcp:listen(Port, [binary, {packet, 0}, {active, false}]) of
    {ok, Socket} ->
        inet:port(Socket);
    _ ->
        socket_listen_fail
end.

本服务所监听的端口:

Socket = util:get_socket(),
inet:port(Socket).
阿里云 - 最高1000元通用代金券立即可用
沪ICP备13037221号-9