| %% @author Bob Ippolito <bob@mochimedia.com> |
| %% @copyright 2007 Mochi Media, Inc. |
| |
| %% @doc Simple and stupid echo server to demo mochiweb_socket_server. |
| |
| -module(mochiweb_echo). |
| -author('bob@mochimedia.com'). |
| -export([start/0, stop/0, loop/1]). |
| |
| stop() -> |
| mochiweb_socket_server:stop(?MODULE). |
| |
| start() -> |
| mochiweb_socket_server:start([{link, false} | options()]). |
| |
| options() -> |
| [{name, ?MODULE}, |
| {port, 6789}, |
| {ip, "127.0.0.1"}, |
| {max, 1}, |
| {loop, {?MODULE, loop}}]. |
| |
| loop(Socket) -> |
| case mochiweb_socket:recv(Socket, 0, 30000) of |
| {ok, Data} -> |
| case mochiweb_socket:send(Socket, Data) of |
| ok -> |
| loop(Socket); |
| _ -> |
| exit(normal) |
| end; |
| _Other -> |
| exit(normal) |
| end. |
| |
| %% |
| %% Tests |
| %% |
| -ifdef(TEST). |
| -include_lib("eunit/include/eunit.hrl"). |
| -endif. |