AB
:file.delete("test1.sock")
{ok, sock1} = :gen_udp.open(0, [{:ifaddr, {:local, 'test1.sock'}}, {:active, false}])
…
# прием
{:ok, {{_,_}, _, data}} = :gen_udp.recv(sock1, 0)
# передача
:gen_udp.send(sock1, {:local, 'test2.sock'}, 0, data)
а на втором все наоборот:
:file.delete("test2.sock")
{ok, sock2} = :gen_udp.open(0, [{:ifaddr, {:local, 'test2.sock'}}, {:active, false}])
…
# прием
{:ok, {{_,_}, _, data}} = :gen_udp.recv(sock2, 0)
# передача
:gen_udp.send(sock2, {:local, 'test1.sock'}, 0, data)