说说大体流程就行!
用API、CSocket...都可以!

解决方案 »

  1.   

    //服务端与客户端相似
    BOOL CClientDlg::OnStart()
    {
    int status; 
    WSADATA wsaData;  if((status=WSAStartup(0x0101,&wsaData))!=0) 

    return FALSE; 
    }  sockaddr_in sa; 
        m_ClientSocket=socket(AF_INET,SOCK_DGRAM,0);
    sa.sin_family=AF_INET; 
    sa.sin_addr.S_un.S_addr=htonl(INADDR_ANY); 
    sa.sin_port=htons(5051);  if(bind(m_ClientSocket,(PSOCKADDR)&sa,sizeof 
    (sa))==SOCKET_ERROR) 

    closesocket(m_ClientSocket); 
    return FALSE;

    else
    {
      unsigned long idThread; 
      m_hListenThread=CreateThread(NULL,0,
     (LPTHREAD_START_ROUTINE)Listen,(void *)
     this,0,&idThread);
        return true;
    }
    }
    ///////////////////////////////////////
    UINT WINAPI Listen(LPVOID pVoid) 

    CClientDlg *pDlg=(CClientDlg *)pVoid;
    int nchar; 
    SOCKADDR_IN saClnt; 
    int saClntLen; 
    char msg[1024]="";
    saClntLen=sizeof(saClnt); 
    while(pDlg->m_bStart)
    {
    nchar=recvfrom(pDlg->m_ClientSocket,msg,1024,0,(PSOCKADDR)&saClnt,&saClntLen);
    if(nchar<0)
    {
               //出错
    }
    if(nchar>=0)
    {
               //收到数据,处理 
    }
    } return(0);