oscdispatch 0.1
I finished the first version of my OSCDispatch server in erlang.
The program defines a generic server and uses a callback function for the dispaching rules.
the oscdispatch.erl looks like this and uses a parameter in the module definition
-module(oscdispatch, [Dispatch]).
-export([start_server/0]).
-include("server_config.hrl").
start_server() ->
spawn( fun() -> server(?server_port) end ).
server(Port) ->
{ok, Socket} = gen_udp:open( Port, [binary] ),
io:format( "socked opened ~p~n ", [Socket]),
loop(Socket).
loop(Socket) ->
receive
{udp, Socket, Host, Port, Bin} ->
Adr = binary_to_list(util:getadr(Bin)),
io:format( "got: ~p~n", [{Host, Port, Adr}]),
Dispatch:dispatch( Adr, Bin ),
loop(Socket)
end.
read more ...