2012-05-05 127 views
1

我在學習erlang,下面是解釋如何使用gen_tcp的一個例子的一部分。然而,幾乎所有的toturials都會向你顯示echo服務器,我沒有發現任何真正的世界http請求解析。erlang如何解析一個http請求?

handle_connect(Socket, BinaryList, Count) -> 
    io:format("handle_connect ~p~n", [self()]), 
    case gen_tcp:recv(Socket, 0) of 
    {ok, Binary} -> 
     io:format("request is :~s~n", Binary), 
     case gen_tcp:send(Socket, Binary) of 
      ok -> 
       handle_connect(Socket, BinaryList, Count); 
      {error, Reason} -> 
       io:format("send failed~n"), 
       gen_tcp:close(Socket) 
     end; 

我很好奇erlang如何解析收到的數據gen_tcp:recv。我已經通過lib/inets-5.7.1/src/http_server下的一些代碼進行了瀏覽,但是有太多的模塊,我仍然無法弄清楚解析http請求的基本方向。任何人都可以告訴我如何解析http請求,以及那些web框架採取的方法是什麼。謝謝〜

回答