Erlangでechoサーバ
30分プログラム、その693。Erlangでechoサーバを作ってみた。
なにかいいネタないかなぁ、と思いつつプログラミングErlangを開いたら、ちょうどgen_tcpを解説したページだったので、Erlangでechoサーバを作ってみました。脈絡ないとか言わないで。
使い方
$ telnet localhost 5678 hoge hoge # <- サーバからの応答
ソースコード
-module(echo). -compile([export_all]). start() -> {ok, LSock} = gen_tcp:listen(5678, [binary, {packet, 0}, {active, false}]), server_loop(LSock). server_loop(LSock) -> {ok, Sock} = gen_tcp:accept(LSock), spawn(fun () -> client_loop(Sock) end), server_loop(LSock). client_loop(Sock) -> case gen_tcp:recv(Sock, 0) of {ok, B} -> gen_tcp:send(Sock,B), client_loop(Sock) end.