%%%------------------------------------------------------------------- %%% @author bin.shen %%% @copyright (C) 2016, %%% @doc %%% %%% @end %%% Created : 29. Nov 2016 6:30 AM %%%------------------------------------------------------------------- -module(handler). -author("bin.shen"). %% API -export([doWork/2]). -import(tcp_server, [loop/2]). doWork(Socket, Data) -> TotalLen = byte_size(Data), io:format("count ~p~n", [TotalLen]), if TotalLen < 12 -> loop(Socket, Data); true -> <> = Data, Len = byte_size(Rest), case Head of <<90, 0, 16, 1, 0, 1>> -> if Len =:= 6 -> <> = Rest, io:format("~p~n", [<<90, 0, 16, 1, 0, 1, D1, D2, D3, D4, D5, D6>>]), loop(Socket, <<>>); Len > 6 -> <> = Rest, <> = A, io:format("~p~n", [<<90, 0, 16, 1, 0, 1, D1, D2, D3, D4, D5, D6>>]), doWork(Socket, B); true -> loop(Socket, Data) end; <<90, 0, 16, 1, 0, 2>> -> io:format("xxxxxxxxxxxxxxxxxxxx\n"); true -> io:format("yyyyyyyyyyyyyyyyyyyy\n") end end. %% io:format("recv ~w~n", [Head]), %% io:format("recv ~w~n", [Rest]).