本帖最后由 VisualEleven 于 2013-01-07 10:33:25 编辑

解决方案 »

  1.   

    把你的receive_data(void)贴上来看看啊
      

  2.   

    receive_data是阻塞的还是异步的,你是怎么接收的?
      

  3.   

    本帖最后由 VisualEleven 于 2013-01-07 10:58:54 编辑
      

  4.   

    你Debug调试一下你的receive_data函数看看,哪里函数调用失败了
      

  5.   

    receive_data函数应该没什么问题,因为我这个程序是在之前人写的基础上修改的,他用的是单线程,点完接收数据之后,能接收到数据,问题是程序就卡住不动了,干不了别的。他建议我用多线程,我就写个如上所述,receive_data 都是用的原来程序里面的,所以我觉得应该不是里面的错吧,可是到底错在哪呢,我是个菜鸟~~
      

  6.   

    换了个号,用的别人的,和之前的mfc_xinshou是同一个人
      

  7.   

    我的程序现在能接收到数据了,通过查看data.txt文件可以看到。程序中在receive_data里有一段是
    if(detected==1)        //如果数据排列整齐,就调用函数visibility_drawing函数,把数据显示在对话框上
    {
      CmyprojectDlg::visibility_drawing();
      Sleep(100);
    }
    新的问题是接收到的数据显示不出来
      

  8.   

    ool CmyprojectDlg::OnInitSocket(void)  //socket初始化
    { if(WSAStartup(MAKEWORD(2,2),&wsaData)!=0)
    {
    MessageBox("Failed to load Winsock.\n");
    return false;
    }
    sClient=socket(PF_INET,SOCK_DGRAM,0); //建立客户端数据报套接口
    if(sClient==INVALID_SOCKET)
    {
    MessageBox("socket( )Failed");
    return false;
    }
            ...
    }