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).