如题。谢谢!

解决方案 »

  1.   

    做一个局域网视频通讯,发送端不停有大量的数据发送,接受端接收,显示。不过现在接收端好像丢了数据,显示的图象不完整。这是发送端:
    LRESULT CALLBACK VideoStream(HWND hwnd, LPVIDEOHDR lpVHdr)//捕获本地视频流的回调函数
    {
    while (i<230000)
    {
    memcpy(p,m_pData+i,1000);
    p[1000]=i/1000;
    m_VideoSend.Send(p,1000,0);
    i=i+1000;
    }
    memcpy(p,m_pData+i,400);
    m_VideoSend.Send(p,400,0);
    return (LRESULT) TRUE;

    }
    接收端:
    void CJhDlg::Video_OnReceive()
    {
    memcpy(precall+coubuf,prec,1000);
    coubuf=coubuf+1000;
    if(coubuf>229000)
    {
    m_VideoSend.Receive(prec,400,0);
    memcpy(precall+230000,prec,400);
    m_Dib.Draw(m_hdc,(BYTE *)precall);
    coubuf=0;
    memset(precall,0,SIF_DIB_SIZE);
    }
    }
      

  2.   

    发送端发送十个包,接收端不一定接收到十个包,可能是8个或12个。但数据没有丢,也就是TCP/IP根据情况会分包或合包,要考虑这个的。