[prev in list] [next in list] [prev in thread] [next in thread] 

List:       boost-users
Subject:    Re: [Boost-users] what is the problem with my async_read_some function?
From:       Martin Dyring-Andersen <mda () spamfighter ! com>
Date:       2015-10-20 18:25:57
Message-ID: FBD890227969A44597F7DD0165A364FE040FF550 () MAILD02 ! wks ! spamfighter ! com
[Download RAW message or body]

Hello,

You should certainly be able to use asio for this, depending on the platform and how \
much processing you need to do apart from the FIX decode, you should see figures in \
the 10s-100 microsecond range.

Ideas:


1)      From what you describe it sounds like the sender can't deliver the market \
data fast enough, causing it to queue up on their side. It might be that your receive \
path is not fast enough. Maybe you are doing some extra work beyond what you showed \
below, and that is causing the TCP receive buffer to fill up on your side and \
consequentially the sender to slow down? (TCP window will fill).. Try timing how long \
you spend from you enter the async callback until you issue the new \
async_read_some... You should try to get that figure down.

2)      It might be a good idea to increase TCP receive buffers in case market data \
is bursty (boost::asio::socket_base::receive_buffer_size)

3)      Only affects your sending, but make sure you disable Nagles algorithm \
(boost::asio::ip::tcp::no_delay option) as well.

BR,
Martin


From: Boost-users [mailto:boost-users-bounces@lists.boost.org] On Behalf Of ??
Sent: 20. oktober 2015 16:27
To: boost-users <boost-users@lists.boost.org>; Boost Users \
                <boostusers@googlegroups.com>
Subject: [Boost-users] what is the problem with my async_read_some function?

hi all!
i have a problem with the async_read_some function.

i code a client to connect a server, after login the server will send a lot of \
FAST(FIX Adapted for Streaming)  Data constantly. i just use \
ip::tcp::socket<file:///D:\package\boost_1_58_0\doc\html\boost_asio\reference\ip__tcp\socket.html>.async_read_some \
function to read the data from server, but the interface of the server software \
sometime  show that there are  some data package wait for send(maybe my client not \
receive then immidiately).but, when i use a commercial client to connect and receive \
data from the server, there is no data package wait for send on the server.

my code:

BODY_LEN = 1024 * 1024 * 4                                                            \
//4M boost::array<char, BODY_LEN> body_;
void client::login_handler(const boost::system::error_code& ec, std::size_t \
bytes_transferred) {
                      if (ec)
                      {
                                            error_.code = ec.value();
                                            strncpy(error_.msg, ec.message().c_str(), \
                ERROR_MSG_LEN - 1);
                                            error_.msg[ERROR_MSG_LEN - 1] = '/0';
                                            glog.error("login_handler get an error: \
%s", error_.msg);  return;
                      }

                      socket_.async_read_some(boost::asio::buffer(body_),
                                            boost::bind(&client::login_handler, this, \
                boost::asio::placeholders::error,
                                            \
boost::asio::placeholders::bytes_transferred));

                      static bool first = true;
                      if (first)
                      {
                                            heartbeat_inteval_ = 10;
                                            first = false;
                                            send_heartbeat();
                      }
}

there is a deadline_timer to send heartbeat to server every 10 seconds , user the \
same socket_ .


i user asio handler tracking to debug, and found that sometimes between the \
async_read_some function call and their callback function call are more than 100ms, i \
don't kown why becasue the server send data always, and other commercial client is \
ok?

@asio|1445319300.343750|25*26|socket@00840104.async_receive
@asio|1445319300.343750|<25|
@asio|1445319300.390625|>26|ec=system:0,bytes_transferred=24605
@asio|1445319300.390625|26*27|socket@00840104.async_receive
@asio|1445319300.390625|<26|
@asio|1445319300.578125|>27|ec=system:0,bytes_transferred=15805
@asio|1445319300.593750|27*28|socket@00840104.async_receive
@asio|1445319300.593750|<27|
@asio|1445319300.781250|>28|ec=system:0,bytes_transferred=3939
@asio|1445319300.781250|28*29|socket@00840104.async_receive
@asio|1445319300.781250|<28|
@asio|1445319300.781250|>29|ec=system:0,bytes_transferred=8858
@asio|1445319300.796875|29*30|socket@00840104.async_receive
@asio|1445319300.796875|<29|
@asio|1445319300.796875|>30|ec=system:0,bytes_transferred=23906
@asio|1445319300.796875|30*31|socket@00840104.async_receive
@asio|1445319300.796875|<30|
@asio|1445319300.796875|>31|ec=system:0,bytes_transferred=25124
@asio|1445319300.796875|31*32|socket@00840104.async_receive
@asio|1445319300.796875|<31|
@asio|1445319300.921875|>32|ec=system:0,bytes_transferred=18061
@asio|1445319300.937500|32*33|socket@00840104.async_receive
@asio|1445319300.937500|<32|
@asio|1445319301.125000|>33|ec=system:0,bytes_transferred=19960
@asio|1445319301.125000|33*34|socket@00840104.async_receive
@asio|1445319301.140625|<33|
@asio|1445319301.140625|>34|ec=system:0,bytes_transferred=11680


could someone give some suggest? thanks a lot!


[Attachment #3 (text/html)]

<html xmlns:v="urn:schemas-microsoft-com:vml" \
xmlns:o="urn:schemas-microsoft-com:office:office" \
xmlns:w="urn:schemas-microsoft-com:office:word" \
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" \
xmlns="http://www.w3.org/TR/REC-html40"> <head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:SimSun;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:"\@SimSun";
	panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:SimSun;
	mso-fareast-language:ZH-CN;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p
	{mso-style-priority:99;
	mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	font-size:12.0pt;
	font-family:SimSun;
	mso-fareast-language:ZH-CN;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:36.0pt;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:SimSun;
	mso-fareast-language:ZH-CN;}
span.apple-tab-span
	{mso-style-name:apple-tab-span;}
span.EmailStyle19
	{mso-style-type:personal-reply;
	font-family:"Calibri",sans-serif;
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri",sans-serif;
	mso-fareast-language:EN-US;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:1958026993;
	mso-list-type:hybrid;
	mso-list-template-ids:1763575272 67502097 67502105 67502107 67502095 67502105 \
67502107 67502095 67502105 67502107;} @list l0:level1
	{mso-level-text:"%1\)";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l0:level2
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l0:level3
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l0:level4
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l0:level5
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l0:level6
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
@list l0:level7
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l0:level8
	{mso-level-number-format:alpha-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l0:level9
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	text-indent:-9.0pt;}
ol
	{margin-bottom:0cm;}
ul
	{margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="DA" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US">Hello,<o:p></o:p></span></p>
 <p class="MsoNormal"><span lang="EN-US" \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p>
 <p class="MsoNormal"><span lang="EN-US" \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US">You \
should certainly be able to use asio for this, depending on the platform and how much \
processing you need to do apart  from the FIX decode, you should see figures in the \
10s-100 microsecond range.<o:p></o:p></span></p> <p class="MsoNormal"><span \
lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p>
 <p class="MsoNormal"><span lang="EN-US" \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US">Ideas:
 <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p>
 <p class="MsoListParagraph" style="text-indent:-18.0pt;mso-list:l0 level1 \
lfo1"><![if !supportLists]><span lang="EN-US" \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US"><span \
style="mso-list:Ignore">1)<span style="font:7.0pt &quot;Times New \
Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span \
lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US">From \
what you describe it sounds like the sender can&#8217;t deliver the market data fast \
enough, causing it to queue  up on their side. It might be that your receive path is \
not fast enough. Maybe you are doing some extra work beyond what you showed below, \
and that is causing the TCP receive buffer to fill up on your side and \
consequentially the sender to slow down? (TCP  window will fill).. Try timing how \
long you spend from you enter the async callback until you issue the new \
async_read_some&#8230; You should try to get that figure down.<o:p></o:p></span></p> \
<p class="MsoListParagraph" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"><![if \
!supportLists]><span lang="EN-US" \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US"><span \
style="mso-list:Ignore">2)<span style="font:7.0pt &quot;Times New \
Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span \
lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US">It \
might be a good idea to increase TCP receive buffers in case market data is bursty \
(boost::asio::socket_base::receive_buffer_size)<o:p></o:p></span></p> <p \
class="MsoListParagraph" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"><![if \
!supportLists]><span lang="EN-US" \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US"><span \
style="mso-list:Ignore">3)<span style="font:7.0pt &quot;Times New \
Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><![endif]><span \
lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US">Only \
affects your sending, but make sure you disable Nagles algorithm \
(boost::asio::ip::tcp::no_delay option)  as well.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p>
 <p class="MsoNormal"><span lang="EN-US" \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US">BR,<o:p></o:p></span></p>
 <p class="MsoNormal"><span lang="EN-US" \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US">Martin<o:p></o:p></span></p>
 <p class="MsoNormal"><span lang="EN-US" \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p>
 <p class="MsoNormal"><span \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p>
 <p class="MsoNormal"><b><span lang="EN-US" \
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif">From:</span></b><span \
lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif"> \
Boost-users [mailto:boost-users-bounces@lists.boost.org] <b>On Behalf Of </b>??<br>
<b>Sent:</b> 20. oktober 2015 16:27<br>
<b>To:</b> boost-users &lt;boost-users@lists.boost.org&gt;; Boost Users \
&lt;boostusers@googlegroups.com&gt;<br> <b>Subject:</b> [Boost-users] what is the \
problem with my async_read_some function?<o:p></o:p></span></p> <p \
class="MsoNormal"><o:p>&nbsp;</o:p></p> <div>
<div>
<p class="MsoNormal"><span \
style="font-size:10.5pt;font-family:&quot;Arial&quot;,sans-serif;color:black">hi \
all!<o:p></o:p></span></p> </div>
<div>
<p class="MsoNormal"><span \
style="font-size:10.5pt;font-family:&quot;Arial&quot;,sans-serif;color:black">i have \
a problem with the async_read_some function.<o:p></o:p></span></p> </div>
<div>
<p class="MsoNormal"><span \
style="font-size:10.5pt;font-family:&quot;Arial&quot;,sans-serif;color:black"><o:p>&nbsp;</o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:10.5pt;font-family:&quot;Arial&quot;,sans-serif;color:black">i code \
a client to connect a server, after login the server will send a lot of F</span><span \
style="font-size:10.0pt;font-family:&quot;Arial&quot;,sans-serif;color:#333333">AST(FIX
  Adapted for Streaming)&nbsp; Data constantly. i just use&nbsp;</span><span \
style="font-size:10.5pt;font-family:&quot;Arial&quot;,sans-serif;color:black"><a \
href="file:///D:\package\boost_1_58_0\doc\html\boost_asio\reference\ip__tcp\socket.html" \
title="ip::tcp::socket"><span \
style="font-size:9.0pt;color:#9C5A9C;text-decoration:none">ip::tcp::socket</span></a>.async_read_some
  function to read the data from server, but the interface of the server \
software&nbsp;sometime&nbsp;&nbsp;show that there are &nbsp;some&nbsp;data package \
wait for send(maybe my client not receive then&nbsp;immidiately).but, when i use \
a&nbsp;</span><span style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">commercial
  client to connect and receive data from the server, there is no data package wait \
for send on the server.</span><span \
style="font-size:10.5pt;font-family:&quot;Arial&quot;,sans-serif;color:black"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:10.5pt;font-family:&quot;Arial&quot;,sans-serif;color:black"><o:p>&nbsp;</o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">my \
code:</span><span style="font-size:10.5pt;font-family:&quot;Arial&quot;,sans-serif;color:black"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:10.5pt;font-family:&quot;Arial&quot;,sans-serif;color:black"><o:p>&nbsp;</o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">BODY_LEN \
= 1024 * 1024 * 4<span \
class="apple-tab-span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb \
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp \
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& \
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span>//4M</span><span \
style="font-size:10.5pt;font-family:&quot;Arial&quot;,sans-serif;color:black"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">boost::array&lt;char, \
BODY_LEN&gt; body_;</span><span \
style="font-size:10.5pt;font-family:&quot;Arial&quot;,sans-serif;color:black"><o:p></o:p></span></p>
 </div>
<div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">void \
client::login_handler(const boost::system::error_code&amp; ec, std::size_t \
bytes_transferred)<o:p></o:p></span></p> </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">{<o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span class="apple-tab-span"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span></span><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">if \
(ec)<o:p></o:p></span></p> </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span class="apple-tab-span"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span></span><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">{<o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span class="apple-tab-span"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& \
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb \
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span></span><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">error_.code \
= ec.value();<o:p></o:p></span></p> </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span class="apple-tab-span"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& \
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb \
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span></span><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">strncpy(error_.msg, \
ec.message().c_str(), ERROR_MSG_LEN - 1);<o:p></o:p></span></p> </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span class="apple-tab-span"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& \
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb \
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span></span><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">error_.msg[ERROR_MSG_LEN \
- 1] = '/0';<o:p></o:p></span></p> </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span class="apple-tab-span"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& \
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb \
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span></span><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">glog.error(&quot;login_handler \
get an error: %s&quot;, error_.msg);<o:p></o:p></span></p> </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span class="apple-tab-span"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& \
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb \
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span></span><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">return;<o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span class="apple-tab-span"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span></span><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">}<span \
class="apple-tab-span">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span class="apple-tab-span"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span></span><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span class="apple-tab-span"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span></span><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">socket_.async_read_some(boost::asio::buffer(body_),<o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span class="apple-tab-span"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& \
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb \
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span></span><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">boost::bind(&amp;client::login_handler, \
this, boost::asio::placeholders::error,<o:p></o:p></span></p> </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span class="apple-tab-span"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& \
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb \
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span></span><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">boost::asio::placeholders::bytes_transferred));<o:p></o:p></span></p> \
</div> <div>
<p class="MsoNormal" style="line-height:18.0pt"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p>&nbsp;</o:p></span></p>
 </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span class="apple-tab-span"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span></span><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">static \
bool first = true;<o:p></o:p></span></p> </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span class="apple-tab-span"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span></span><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">if \
(first)<o:p></o:p></span></p> </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span class="apple-tab-span"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span></span><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">{<o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span class="apple-tab-span"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& \
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb \
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span></span><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">heartbeat_inteval_ \
= 10;<o:p></o:p></span></p> </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span class="apple-tab-span"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& \
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb \
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span></span><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">first \
= false;<o:p></o:p></span></p> </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span class="apple-tab-span"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& \
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb \
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span></span><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">send_heartbeat();<o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span class="apple-tab-span"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 </span></span><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">}<o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">}<o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p>&nbsp;</o:p></span></p>
 </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">there \
is a deadline_timer to send heartbeat to server every 10 seconds , user the same \
socket_ .<o:p></o:p></span></p> </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p>&nbsp;</o:p></span></p>
 </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p>&nbsp;</o:p></span></p>
 </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">i \
user asio handler tracking to debug, and found that sometimes between the \
async_read_some function call and their  callback function call are more than 100ms, \
i don't kown why becasue the server send data always, and other commercial client is \
ok?<o:p></o:p></span></p> </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p>&nbsp;</o:p></span></p>
 </div>
<div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">@asio|1445319300.343750|25*26|socket@00840104.async_receive</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">@asio|1445319300.343750|&lt;25|</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">@asio|1445319300.390625|&gt;26|ec=system:0,bytes_transferred=24605</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">@asio|1445319300.390625|26*27|socket@00840104.async_receive</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">@asio|1445319300.390625|&lt;26|</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">@asio|1445319300.578125|&gt;27|ec=system:0,bytes_transferred=15805</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">@asio|1445319300.593750|27*28|socket@00840104.async_receive</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">@asio|1445319300.593750|&lt;27|</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">@asio|1445319300.781250|&gt;28|ec=system:0,bytes_transferred=3939</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">@asio|1445319300.781250|28*29|socket@00840104.async_receive</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">@asio|1445319300.781250|&lt;28|</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">@asio|1445319300.781250|&gt;29|ec=system:0,bytes_transferred=8858</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">@asio|1445319300.796875|29*30|socket@00840104.async_receive</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">@asio|1445319300.796875|&lt;29|</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">@asio|1445319300.796875|&gt;30|ec=system:0,bytes_transferred=23906</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">@asio|1445319300.796875|30*31|socket@00840104.async_receive</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">@asio|1445319300.796875|&lt;30|</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">@asio|1445319300.796875|&gt;31|ec=system:0,bytes_transferred=25124</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">@asio|1445319300.796875|31*32|socket@00840104.async_receive</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">@asio|1445319300.796875|&lt;31|</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">@asio|1445319300.921875|&gt;32|ec=system:0,bytes_transferred=18061</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">@asio|1445319300.937500|32*33|socket@00840104.async_receive</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">@asio|1445319300.937500|&lt;32|</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">@asio|1445319301.125000|&gt;33|ec=system:0,bytes_transferred=19960</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">@asio|1445319301.125000|33*34|socket@00840104.async_receive</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">@asio|1445319301.140625|&lt;33|</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
<div>
<p class="MsoNormal"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;backgro \
und:#F2F2F2">@asio|1445319301.140625|&gt;34|ec=system:0,bytes_transferred=11680</span><span \
style="font-size:10.5pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p></o:p></span></p>
 </div>
</div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p>&nbsp;</o:p></span></p>
 </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2"><o:p>&nbsp;</o:p></span></p>
 </div>
<div>
<p class="MsoNormal" style="line-height:18.0pt"><span \
style="font-size:9.0pt;font-family:&quot;Tahoma&quot;,sans-serif;color:#434343;background:#F2F2F2">could \
someone give some suggest? thanks a lot!<o:p></o:p></span></p> </div>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><o:p>&nbsp;</o:p></p>
<p>&nbsp;<o:p></o:p></p>
</div>
</body>
</html>



_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users
--===============4243073907676911475==--

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic