From e226769d1d70fa6186dac0dca69e5c1b5d7a2ca2 Mon Sep 17 00:00:00 2001
From: bin.shen <bluelazysb@hotmail.com>
Date: Wed, 30 Nov 2016 21:40:30 +0800
Subject: [PATCH] updates

---
 src/tcp_server.erl |   20 ++++++++++----------
 src/handler.erl    |   26 +++++++++++++-------------
 2 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/src/handler.erl b/src/handler.erl
index ab61e0d..7e0e5ab 100644
--- a/src/handler.erl
+++ b/src/handler.erl
@@ -10,17 +10,17 @@
 -author("bin.shen").
 
 %% API
--export([doWork/2]).
--import(tcp_server, [loop/2]).
+-export([doWork/3]).
+-import(tcp_server, [loop/3]).
 
-doWork(Socket, Data) ->
+doWork(Socket, Data, Count) ->
 
   TotalLen = byte_size(Data),
-  io:format("count ~p~n", [TotalLen]),
+%%  io:format("count ~p~n", [TotalLen]),
 
   if
     TotalLen < 12 ->
-      loop(Socket, Data);
+      loop(Socket, Data, Count);
 
     true ->
       <<Head:6/binary, Rest/binary>> = Data,
@@ -30,18 +30,18 @@
         <<90, 0, 16, 1, 0, 1>> ->
           if
             Len =:= 6 ->
-              <<D1, D2, D3, D4, D5, D6>> = Rest,
-              io:format("~p~n", [<<90, 0, 16, 1, 0, 1, D1, D2, D3, D4, D5, D6>>]),
-              loop(Socket, <<>>);
+%%              <<D1, D2, D3, D4, D5, D6>> = Rest,
+%%              io:format("~p~n", [<<90, 0, 16, 1, 0, 1, D1, D2, D3, D4, D5, D6>>]),
+              loop(Socket, <<>>, Count+1);
 
             Len > 6 ->
-              <<A:6/binary, B/binary>> = Rest,
-              <<D1, D2, D3, D4, D5, D6>> = A,
-              io:format("~p~n", [<<90, 0, 16, 1, 0, 1, D1, D2, D3, D4, D5, D6>>]),
-              doWork(Socket, B);
+              <<_:6/binary, B/binary>> = Rest,
+%%              <<D1, D2, D3, D4, D5, D6>> = 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)
+              loop(Socket, Data, Count)
           end;
 
         <<90, 0, 16, 1, 0, 2>> ->
diff --git a/src/tcp_server.erl b/src/tcp_server.erl
index 702a6b0..64c177e 100644
--- a/src/tcp_server.erl
+++ b/src/tcp_server.erl
@@ -2,8 +2,8 @@
 -author('Bin Shen <23420800@qq.com>').
 -compile(export_all).
 
--export([listen/1, loop/2]).
--import(handler,[doWork/2]).
+-export([listen/1, loop/3]).
+-import(handler,[doWork/3]).
 
 -define(TCP_OPTIONS, [binary, {packet, 0}, {active, false}, {reuseaddr, true}]).
 
@@ -14,13 +14,13 @@
 % Wait for incoming connections and spawn the echo loop when we get one.  
 accept(LSocket) ->
   {ok, Socket} = gen_tcp:accept(LSocket),
-  spawn(fun() -> loop(Socket, <<>>) end),
+  spawn(fun() -> loop(Socket, <<>>, 0) end),
   accept(LSocket).
 
 % Echo back whatever data we receive on Socket.  
-loop(Socket, Chain) ->
+loop(Socket, Chain, Count) ->
 
-%%  io:format("~p~n", [Chain]),
+  io:format("~p~n", [Count]),
 
   case gen_tcp:recv(Socket, 0) of
 
@@ -36,8 +36,8 @@
 %%      loop(Socket);
 
     {ok, Data} ->
-      % io:format("recv ~p~n", [Data]),
-      % gen_tcp:send(Socket, Data),
+%%      io:format("recv ~p~n", [Data]),
+%%      gen_tcp:send(Socket, Data),
 
 %%      io:format("recv ~p~n", [Data]),
 %%
@@ -47,9 +47,9 @@
 %%      Y = [ integer_to_list(N, 16) || N <- X],
 %%      io:format("recv ~w~n", [Y]),
 
-      L1 = byte_size(Chain),
-      L2 = byte_size(Data),
-      doWork(Socket, <<Chain:L1/binary, Data:L2/binary >>);
+      ChainLen = byte_size(Chain),
+      DataLen = byte_size(Data),
+      doWork(Socket, <<Chain:ChainLen/binary, Data:DataLen/binary >>, Count);
 
 %%      loop(Socket);
     {error, closed} ->

--
Gitblit v1.8.0