我要读取http头,因为不是固定长度的,我想要http头内容长度...
http头是\r\n结尾,那是不是只能一个个字节读取来判断\r\n的位置?有什么好的方法吗?
while(.....)
{
   recv(m_Socket,buf,1,0))
.....
}
另外
while(.....)
{
   recv(m_Socket,buf,1,0))
.....
}

recv(m_Socket,buf,1024,0))
两个读取哪个效率高一点?
我想是一次接收的效率高一点,但是我想读http头,只能用while一个个字符读取?觉得接收效率差一点点~有什么好方法吗

解决方案 »

  1.   

    后者效率要高些?http://www.codeproject.com/internet/#HTTP+%2F+HTTPS
      

  2.   

    粗心,是\r\n\r\
    没人告诉我怎么处理么?
      

  3.   

    如果限定只读 header ,一个字符一个字符读入比较合适。
    读到 \r\n 就判断一下,如果是连续的两个 \r\n 就返回。如果不限定,可以把每次读入的数据设大点儿,读下来后查找 \r\n\r\n 找到就截断,然后返回。
      

  4.   

    循环读比较可靠,因为strstr的查询还是免不了循环
    另外读的是缓冲区,读同时判断,是常用的方法