МВ
Size: a a a
МВ
VS
clear_channel(Transport, Socket, Timeout) ->
case Transport:recv(Socket, 0, Timeout) of
{error, timeout} ->
ok;
{ok, _Data} ->
clear_channel(Transport, Socket, Timeout)
end.
VS
modbus
копирую,МВ
VS
recv
есть timeout
МВ
МВ
def recv_loop(socket, _data) do
case :gen_tcp.recv(socket, 0, 1000) do
{:ok, line} ->
IO.inspect(line)
recv_loop(socket, [])
{:error, reason} ->
IO.puts(inspect(reason))
end
end
МВ
МВ
VS
VS
[binary, {active, false}, {packet, raw}, {nodelay, true}]
МВ
VS
DP
МВ
МВ
МВ
def recv_loop(socket, data) do
case :gen_tcp.recv(socket, 0, 500) do
{:ok, line} ->
# IO.inspect(line)
recv_loop(socket, data ++ line)
{:error, reason} ->
IO.inspect(data)
IO.puts(inspect(reason))
data
end
end
V
МВ
МВ