xmpp.chapril.org-ejabberd/src/ejabberd_listener.erl

43 lines
1017 B
Erlang

%%%----------------------------------------------------------------------
%%% File : ejabberd_listener.erl
%%% Author : Alexey Shchepin <alexey@sevcom.net>
%%% Purpose :
%%% Created : 16 Nov 2002 by Alexey Shchepin <alexey@sevcom.net>
%%% Id : $Id$
%%%----------------------------------------------------------------------
-module(ejabberd_listener).
-author('alexey@sevcom.net').
-vsn('$Revision$ ').
-export([start/0, init/0]).
start() ->
register(ejabberd_listener, spawn(?MODULE, init, [])).
init() ->
{ok, ListenSocket} = gen_tcp:listen(5522, [binary,
{packet, 0},
{active, false},
{reuseaddr, true}]),
accept(ListenSocket).
accept(ListenSocket) ->
case gen_tcp:accept(ListenSocket) of
{ok,Socket} ->
ejabberd_c2s:start(Socket),
accept(ListenSocket)
end.
do_recv(Sock, Bs) ->
case gen_tcp:recv(Sock, 0) of
{ok, B} ->
do_recv(Sock, [Bs, B]);
{error, closed} ->
{ok, list_to_binary(Bs)}
end.