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.8k
1 个回答

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

  1. 收到数据了
  2. 没有收到数据, 但是连接断开了
  3. 没有收到数据, 连接也没断, 被信号(signal)中断
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题