I would like to fetch the IP address and port number of an incoming TCP/IP connection. Unfortunately gen_tcp
's accept
and recv
functions only give back a socket, while gen_udp
's recv
function also gives back the address information. Is there a straightforward way to collect address information belonging to a socket in Erlang?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You need inet/peername 1
. From the Erlang inet docs:
peername(Socket) -> {ok, {Address, Port}} | {error, posix()}
Types:
Socket = socket() Address = ip_address() Port = int()
Returns the address and port for the other end of a connection.