18,363
社区成员




DWORD WINAPI TcpRecvProc(void *pVoid)
{
struct timeval tv = {0, 300*1000};
fd_set rfds;
char *buf = new char[MAX_VIDEO_FRAME_LEN];
int cnt=0;
while (g_RunThread)
{
FD_ZERO(&rfds);
FD_SET(g_fd, &rfds);
int ret = select((int)g_fd+1, &rfds, NULL, NULL, &tv);
if (GetLastError()!=0)
TRACE("GetLastError=%d\n", GetLastError()); //未输出错误
if (ret<0)
Sleep(100);
else if (ret==0)
Sleep(100);
else
{
int n = recv(g_fd, buf, MAX_VIDEO_FRAME_LEN/4, 0);
if (n<=0)
{
if (GetLastError()!=0)
TRACE("GetLastError=%d\n", GetLastError());//未输出错误
continue;
}
cnt+=n;
TRACE("%d\n", cnt);
//一些业务处理代码 ...
}
}