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