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

37 lines
1.1 KiB
Erlang
Raw Normal View History

2002-11-18 21:39:47 +01:00
%%%----------------------------------------------------------------------
%%% 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/2]).
2002-11-18 21:39:47 +01:00
start() ->
register(ejabberd_listener_c2s,
spawn(?MODULE, init, [5522, ejabberd_c2s])),
register(ejabberd_listener_s2s,
spawn(?MODULE, init, [5269, ejabberd_s2s_in])).
2002-11-18 21:39:47 +01:00
init(Port, CallbackModule) ->
{ok, ListenSocket} = gen_tcp:listen(Port, [binary,
2002-11-18 21:39:47 +01:00
{packet, 0},
{active, false},
{reuseaddr, true}]),
accept(ListenSocket, CallbackModule).
2002-11-18 21:39:47 +01:00
accept(ListenSocket, CallbackModule) ->
2002-11-18 21:39:47 +01:00
case gen_tcp:accept(ListenSocket) of
{ok,Socket} ->
apply(CallbackModule, start, [Socket]),
%ejabberd_c2s:start(Socket),
accept(ListenSocket, CallbackModule)
2002-11-18 21:39:47 +01:00
end.