Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -module(telnet).
- -compile(export_all).
- start(Num,LPort) ->
- case gen_tcp:listen(LPort,[{active, false},
- {packet,2}]) of
- {ok, ListenSock} ->
- start_servers(Num,ListenSock),
- {ok, Port} = inet:port(ListenSock),
- {ListenSock,Port};
- {error,Reason} ->
- {error,Reason}
- end.
- start_servers(0,_) ->
- ok;
- start_servers(Num,LS) ->
- spawn(?MODULE,server,[LS]),
- start_servers(Num-1,LS).
- server(LS) ->
- case gen_tcp:accept(LS) of
- {ok,S} ->
- io:format("accepted"),
- loop(S),
- server(LS);
- Other ->
- io:format("accept returned ~w - goodbye!~n",[Other]),
- ok
- end.
- loop(S) ->
- inet:setopts(S,[{active,once}]),
- receive
- {tcp,S,Data} ->
- io:format("Got ~p", [Data]),
- Answer = io_lib:format("Got ~p", [Data]),
- gen_tcp:send(S,Answer),
- loop(S);
- {tcp_closed,S} ->
- io:format("Socket ~w closed [~w]~n",[S,self()]),
- ok;
- Unexpected ->
- io:format("Unexpected ~p", [Unexpected])
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement