终于搞定了一个莫名其妙的bug

  大概是这样的,我现在用一个多线程的客户端向server发出get和post的请求,然后get请求每次都很正常,我也不知道为什么但是post请求老是出现一个莫名其妙的错误,比如我现在测试用的是192k的文件,然后就很奇怪地不知道为什么在post请求当中,就老是会最后的文件少了7k,而且都是在最开头的时候少的

 

然后我就想是不是我的socket在transmit之后不干净什么的呢?我这边post的流程的话就是客户端先发送一个请求,然后server收到之后会回复一个server ready for post的请求,然后客户端收到了这个东西之后就开始调用transmit函数来传送,然后我对于server回复过来的reply用的是read some来处理,现在不那么搞了,因为我实在是不知道read some到底有没有把socket里面的内容都抽空,所以我现在就直接在这种情况下让server生成一个很简单的以\r\n结尾的reply的然后client端就直接用boost::asio::read_until来搞定,反正我一开始真的不知道是不是这个问题,我就换了试试,因为至少这样我可以知道我这次读是彻底把里面的内容给抽空了,然后再试了几次,好吧,行了,记录下

 

下面就搞一下connection的管理和回收了,想个办法,不然现在这样的话到了后面大规模测试的时候肯定是个问题!

posted @ 2014-04-05 20:59  Allen_Tung  阅读(153)  评论(0编辑  收藏  举报