lecture 07

This commit is contained in:
SowinskiBraeden committed 2026-10-20 11:28:07 -07:00
1 parent d729786437
commit 73653f078e
7 files changed
+165

No files matched your search

+22
View File
@@ -0,0 +1,22 @@
-module(echo).
-export([start/1]).
start(Port) ->
Opts = [binary, {active, once}, {packet, line}, {reuseaddr, true}],
{ok, Listen} = gen_tcp:listen(Port, Opts),
accept(Listen).
accept(Listen) ->
{ok, Socket} = gen_tcp:accept(Listen),
spawn(fun() -> accept(Listen) end),
loop(Socket).
loop(Socket) ->
receive
{tcp, Socket, Data} ->
inet:setopts(Socket, [{active, once}]),
gen_tcp:send(Socket, Data),
loop(Socket);
{tcp_closed, Socket} ->
gen_tcp:close(Socket)
end.