1 UINT PCClientThread(LPVOID p){

 2     CTCPServerDlg *dlg=(CTCPServerDlg*)AfxGetApp()->GetMainWnd();

 3     SOCKET temp;

 4     char buff[1024];

 5     int len=sizeof(SOCKADDR);

 6     temp=accept(dlg->m_PCVideoSocket,(sockaddr*)&(dlg->serv),&(len));//接受客户端链接,将此连接分配给一个空闲的客户端socket

 7     AfxBeginThread(PCClientThread,0);

 8     if (temp==INVALID_SOCKET)   //链接出错,重新将此客户端socket赋值为NULL 设置为空闲

 9     {

10         return 0;

11     }else{

12         VIDEO_SOCK_INFO sockInfo;//

13         sockInfo.acceptSock=temp;

14         sprintf(sockInfo.staffId,"%s","");

15         sockInfo.isBusy=false;

16         sockInfo.videoSock=0;

17         dlg->acceptVideoSockArray.Add(sockInfo);

18         int s=1;

19         if(s!=SOCKET_ERROR) 

20         {

21             //接收指令

22             s=recv(temp,buff,1024,0);

23         }

24     }

25     int i=0;

26     while(i<dlg->acceptVideoSockArray.GetSize())

27     {

28         SOCKET sock=dlg->acceptVideoSockArray[i].acceptSock;

29         if(temp==sock){

30             dlg->acceptVideoSockArray.RemoveAt(i);

31             break;

32         }

33         i++;

34     }

35     

36     return 0;

37 }

 

你可能感兴趣的:(想)