anchor.diff:  
   mq_connect(ServerIp) ->
       {ok, Connection} = amqp_connection:start(#amqp_params_network{host = ServerIp}),
  -	0.
  +	Connection.
   
   mq_disconnect(Connection) ->
       ok = amqp_connection:close(Connection),
  
positive.code: -export([init/1, good/2, dead/2]).
  -export([handle_event/3, terminate/3]).
  -export([handle_sync_event/4, handle_info/3, code_change/4]).
  
  -record(pcstat, {stat, mq}).
  
  
negative.code: 
  
  
  mq_test() ->
  	io:format("please use topic t.1 or t.2~n",[]),
  	Connection = mq_connect("192.168.56.21"),
  	spawn_link(fun() -> mq_test_loop(Connection) end).
  
  
  mq_test_receiver(Timeout) ->
  	receive
  		#'basic.consume_ok'{} -> mq_test_receiver(Timeout);
  		{#'basic.deliver'{routing_key = RoutingKey}, #amqp_msg{payload = Body}} ->
  			io:format("now, receive from ~p,  body ~p~n", [RoutingKey, Body]),
  			mq_test_receiver(Timeout)
  		after Timeout -> 0
  	end.
  
  mq_test_loop(Connection) ->
  
  	Ch1 = mq_setup_receive_topics(Connection, <<"testexchange">>, [<<"t.1">>]),
  	io:format("now, set topic to ~p~n", ["t.1"]),
  	mq_test_receiver(10000),
  
  	Ch2 = mq_setup_receive_topics(Connection, <<"testexchange">>, [<<"t.2">>]),
  	io:format("now, set topic to ~p~n", ["t.2"]),
  	mq_test_receiver(10000),
  
  	mq_test_loop(Connection).
  
  
  mq_test_sender(Topic, Message)->
  	Connection = mq_connect("192.168.56.21"),
  	Ch = mq_setup_send_topics(Connection, <<"testexchange">>),
  
  	amqp_channel:cast(Ch,
  		#'basic.publish'{exchange = <<"testexchange">>, routing_key = list_to_binary(Topic) },
  		#amqp_msg{payload = Message}).
  
  
  mq_listen_area(chat, <<"chat.open.1">>) ->
  