lecture 07
This commit is contained in:
7 files changed
+165
No files matched your search
@@ -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.
|
||||
Reference in new issue
Block a user