c++ socket 阻塞recv()接收360浏览器http请求时不返回或返回很慢
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()没有返回的原因是什么?
...全文
相关推荐
C++实现简单Socket通信
C++实现简单Socket通信,最基本的代码。可以作为初始学习socket功能使用,仅供参考...................
课设级智能驾驶辅助系统:OpenCV+Socket工程实践指南
智能驾驶辅助系统是嵌入式与计算机视觉融合的典型工程场景,其核心在于实时感知、可靠通信与资源受限下的确定性控制。本文围绕课设级实现展开,深入解析基于OpenCV的传统视觉算法(如Canny+霍夫变换车道线检测、单目测距)原理,强调参数可解释性与调试可控性;重点剖析POSIX Socket在低延迟跨进程通信中的不可替代性,涵盖连接保活、超时控制与异常兜底等工业级设计思维;同时揭示CMake构建规范、camera.xml标定配置及二进制通信协议对系统稳定性的影响。适用于树莓派/Jetson Nano等边缘平台,覆
套接字编程(Socket)c++实现源码
socket编程 c++源码 实现两台机器建立socket连接,进行数据报文的传输!
C++socket编程详解
C++socket编程详解的详细讲解,讲的很通俗易懂,可操作性强。
C++ socket
C++ socke套接字数据传输向网络发出请求或者应答网络请求。



