我写的程序直接跟服务器交互,服务器会返回什么不是我预期。服务器是php响应的我send之后就recv,发现数据不对,少了很多内容,用抓包工具抓了一下,发现封包里有0x00结束符,recv就读到这里,后面的就不读就返回了。但是我在此时继续recv的话,就收不到任何数据,然后直到recv返回0。请问各位我如何才能把整个封包的内容全部读到呢? 还有那个结束符是怎么回事网页应该是UTF8编码的,谢谢

解决方案 »

  1.   

    我发现一个问题截包时候发现Transfer-Encoding: chunked这个需要如何来处理?
      

  2.   

    http 通信你需要自己吧 换行分隔符 处理下
      

  3.   

    你好,不是换行符的问题,换行符我可以处理,是0x00的问题,recv到这里就停了,后面就不读了,我要全部数据
      

  4.   

    如果没有接收完的话,你可以再使用recv进行接收嘛,直到全部接收完了不就行了?
      

  5.   


    请认真看我的问题,谢谢。“但是我在此时继续recv的话,就收不到任何数据,然后直到recv返回0。”
      

  6.   

    不是recv的问题,你看你send的包跟抓到的包一致否,还有,chunked是可以全部recv到的,我试过的。解码那是取到数据之后的问题了,你还没到那一步。unicode含有0x00的字符串,是可以recv到的