双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

c++ socket 阻塞recv()接收360浏览器http请求时不返回或返回很慢

落雁西南 落雁西南 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

if( (connfd = accept(m_listenfd, (struct sockaddr*)NULL, NULL)) == -1){
printf("accept socket error: %s(errno: %d)",strerror(errno),errno);
return -1;
}
struct timeval recv_time,start_time,send_time,end_time;
memset(recv_buf,0,MAX_HTTP_LEN);
gettimeofday(&recv_time,NULL);
printf("recv_time :%ld\n",recv_time.tv_sec*1000000+recv_time.tv_usec);
n = recv(connfd,recv_buf,MAX_HTTP_LEN,0);
gettimeofday(&start_time,NULL);
printf("start_time:%ld\n",start_time.tv_sec*1000000+start_time.tv_usec);


用来模拟接收http请求,同一个http的get请求用Windows或Linux下Firefox,chrome,IE发起时recv用时只有100微秒左右,但是如果在Windows下的用360浏览器的话,阻塞在recv()这里了,用抓包工具看了下http请求是到了的。
recv()没有返回的原因是什么?
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
落雁西南
C++ 语言 65,214 成员 250,514 内容