anchor.diff:  async_send_to_local() ->
       receive
           {ok, LS, Packet} -> 
  -            send_data(LS, Packet),
  +            send_packet(LS, Packet),
               async_send_to_local()
       end.
   
   
  -send_data(Socket,Data) ->
  -    gen_tcp:send(Socket,Data).
  -
  -
  -parse_destination_addr(Data) ->
  -    <<_:3/binary,T,_/binary>> = Data,
  +send_packet(Socket,Packet) ->
  +    gen_tcp:send(Socket,Packet).
  +
  +
  +parse_destination_addr(Packet) ->
  +    <<_:3/binary,T,_/binary>> = Packet,
       %%io:format("The type of request destination is ~B~n",[T]),
       case T of
          16#01 -> 
  -            <<_:3/binary,T,Addr:4/binary,Port:2/binary>> = Data, 
  +            <<_:3/binary,T,Addr:4/binary,Port:2/binary>> = Packet, 
               {list_to_tuple(Addr), Port};
          16#03 ->
  -            <<_:3/binary,T,N,URL:N/binary,Port:2/binary>> = Data,
  +            <<_:3/binary,T,N,URL:N/binary,Port:2/binary>> = Packet,
               {url_to_ip(binary_to_list(URL)), Port};
          16#04 ->
  -            <<_:3/binary,T,Addr:16/binary,Port:2/binary>> = Data,
  +            <<_:3/binary,T,Addr:16/binary,Port:2/binary>> = Packet,
               {list_to_tuple(Addr), Port}
       end.
   
  
positive.code:     {?CONNECTED, RS}.
  
  handle_reply_request(RS, Packet) ->
      send_data(RS, Packet), 
      {?CONNECTED, RS}. 
  
  handle_remote_data(RS, LS) ->
      %%io:format("Start to fetch data from actual sever ~p ~p ~p ~n",[Addr, Port, RequestData]),
      %%gen_tcp:send(RS,binary_to_list(RequestPacket)),
      {Result, Packet} = gen_tcp:recv(RS,0,infinity),
      %%io:format("The data return by the remote server ~p~n",[Data]),
      case Result of
          ok -> 
              send_to_local(LS, Packet),
  
negative.code:     spawn(fun() -> loop(Socket, ?INIT, undefined) end),
      new_connection(Listen).
  
  loop(LS, ST, RS) ->
      {Result, Packet} = gen_tcp:recv(LS, 0, infinity),
      case Result of
          ok -> 
              {State, RemoteSocket} = handle_connection_request(LS, RS, ST, Packet),
              loop(LS, State, RemoteSocket);
          error -> io:format("loop, Reason = ~p~n",[Packet]),gen_tcp:close(LS)
  