BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #16198同步于 2010/10/29
Java机器人发帖

【求助】一个c++服务端和java客户端socket的问题

sUmmy
2010/10/29镜像同步0 回复
现在通信流程是,客户端发送一个类似HTTP协议到服务端,然后去数据库做相应操作,再返回响应信息。写和读都是独立的线程。 问题出在get操作,c++那端会把头信息和消息体也就是head和body分成两次发送给java端,java端解析head里面的body_len,然后再读body出来。在读body的时候耗时200ms。如果c++端将head和body拼到一起发送过来,读完整个消息体耗时3ms不到。 我试过了用BufferedReader,inputStream以及DataInputStream三种方法来测试,情况都是一样的。求版上大牛分析一下可能的原因。thx 还有,如果我发1条消息,然后c++那端将head和body也是分两次发送,c++那边重复对我的那条消息返回10次响应,也就是我发1条消息会收到10条由head+body构成的消息体。这种情况下的时候读取每个head+body耗时不到3ms,这让我很困惑啊。[ema2] 我还做过这样的测试,每次我在读取head前先sleep一下,这样在读取body的时候就没有那个200ms的耗时了。继续困惑[ema1]
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。