Browse Source

ft: utRocket 修正

master
SisMaker 1 year ago
parent
commit
dec0f96537
1 changed files with 20 additions and 16 deletions
  1. +20
    -16
      src/httpSocket/utSocket.erl

+ 20
- 16
src/httpSocket/utSocket.erl View File

@ -5,33 +5,37 @@
, socketToIpTuple/1
, socket2port/1
, str2ip/1
, ipToStr/1
]).
%% socket转IP
socketToIpStr(Socket) ->
case inet:peername(Socket) of
{ok, {{A, B, C, D}, _}} ->
string:join(lists:map(fun com_type:to_list/1, [A, B, C, D]), ".");
_ ->
""
try {ok, {TIp, _TPort}} = inet:peername(Socket), ipToStr(TIp)
catch _:_ ->
try {ok, {SIp, _SPort}} = ssl:peername(Socket), ipToStr(SIp)
catch _:_ ->
"0.0.0.0"
end
end.
ipToStr({A, B, C, D}) ->
<<_:8, IpStr>> = <<<<".", (integer_to_binary(O))/binary>> || O <- [A, B, C, D]>>,
IpStr;
ipToStr(Ip) ->
<<_:8, IpStr>> = <<<<":", (integer_to_binary(O, 16))/binary>> || O <- tuple_to_list(Ip)>>,
IpStr.
%% ip
socketToIpTuple(Socket) ->
case catch inet:peername(Socket) of
{ok, {Ip, _Port}} ->
Ip;
_ ->
case catch ssl:peername(Socket) of
{ok, {Ip, _Port}} ->
Ip;
_ ->
{0, 0, 0, 0}
end
try {ok, {TIp, _TPort}} = inet:peername(Socket), TIp
catch _:_ ->
try {ok, {SIp, _SPort}} = ssl:peername(Socket), SIp
catch _:_ ->
{0, 0, 0, 0}
end
end.
socket2port(Socket) ->
case inet:peername(Socket) of
{ok, {_, Port}} -> Port;

Loading…
Cancel
Save