%%%------------------------------------------------------------------- %%% @author bin.shen %%% @copyright (C) 2016, %%% @doc %%% %%% @end %%% Created : 29. Nov 2016 6:30 AM %%%------------------------------------------------------------------- -module(handler). -author("bin.shen"). %% API -export([doWork/3]). -import(tcp_server, [loop/3]). doWork(Socket, Data, Count) -> TotalLen = byte_size(Data), %% io:format("count ~p~n", [TotalLen]), if TotalLen < 12 -> loop(Socket, Data, Count); 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, <<>>, Count+1); Len > 6 -> <<_:6/binary, B/binary>> = Rest, %% <> = A, %% io:format("~p~n", [<<90, 0, 16, 1, 0, 1, D1, D2, D3, D4, D5, D6>>]), doWork(Socket, B, Count+1); true -> loop(Socket, Data, Count) 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]).