c++ socket recv()接收360浏览器http请求阻塞

linux c++用socket来模拟接收http请求,socket阻塞的,也没有设置超时。同一个http的get请求用Windows或Linux下Firefox,chrome,IE发起时,recv完成用时只有100微秒左右,但是如果用Windows下的360浏览器发起请求的话,socket连接建立了但阻塞在recv()这里。
recv()没有返回的原因是什么?

阅读 2.9k
1 个回答

基本上阻塞型 socket 的 recv() 返回有三种情况

  1. 收到数据了
  2. 没有收到数据, 但是连接断开了
  3. 没有收到数据, 连接也没断, 被信号(signal)中断
推荐问题