DWORD CNetClient::ClientThread(LPVOID pParam){ CNetClient * pThis = (CNetClient *)pParam; BOOL bRet = TRUE; while (bRet) { //首先接收数据包的包头 VODHEADER header = { 0 }; bRet = pThis->RecvData( &header,sizeof(header)); //根据ID判断,应该执行何种操作 switch (header.dwCmd) { case VODNETCMD_LOGIN://处理登录 bRet = pThis->OnLogin(); break; case VODNETCMD_MEDIADATA://处理影片文件下载的 bRet = pThis->OnMediaData(); break; case VODNETCMD_TYPES://处理返回所有媒体类型 bRet=pThis->OnAllVideoTypes(); break; case VODNETCMD_GETVIDES://处理返回指定类型所有影片的 bRet=pThis->OnVideosByTypeID(); default: break; } } closesocket(pThis->m_hClientSocket); return 0; }