<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>GuruBlog : Articles about oscdispach</title>
    <description>local-guru.net</description>
    <link>http://www.local-guru.net/blog</link>
    <ttl>40</ttl>
    <item>
      <title>oscdispatch 0.1</title>
      <link>http://www.local-guru.net//blog/2009/3/7/oscdispatch-0-1</link>
      <description>&lt;p&gt;I finished the first version of my &lt;a href="http://www.local-guru.net/blog/pages/oscdispatch"&gt;OSCDispatch&lt;/a&gt; server in erlang.&lt;/p&gt;

&lt;p&gt;The program defines a generic server and uses a callback function for the dispaching rules.&lt;/p&gt;

&lt;p&gt;the oscdispatch.erl looks like this and uses a parameter in the module definition&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;-module(oscdispatch, [Dispatch]).
-export([start_server/0]).
-include("server_config.hrl").

start_server() -&amp;gt;
    spawn( fun() -&amp;gt; server(?server_port) end ).

server(Port) -&amp;gt;
    {ok, Socket} = gen_udp:open( Port, [binary] ),
    io:format( "socked opened ~p~n ", [Socket]),
    loop(Socket).

loop(Socket) -&amp;gt;
    receive
        {udp, Socket, Host, Port, Bin} -&amp;gt;
            Adr = binary_to_list(util:getadr(Bin)),
            io:format( "got: ~p~n", [{Host, Port, Adr}]),
            Dispatch:dispatch( Adr, Bin ),
            loop(Socket)
    end.
&lt;/code&gt;&lt;/pre&gt;
</description>
      <pubDate>2009-03-07T08:51:00+01:00</pubDate>
    </item>
  </channel>
</rss>

