本帖最后由 BSKnight 于 2011-06-28 13:29:16 编辑

解决方案 »

  1.   

    我感觉这种事情不是Socket用错了,是你其他代码的逻辑问题。
      

  2.   

    tItem.pWinThread = AfxBeginThread(BBUDlg->RRUThreadProc, &tItem );
    这句很有问题,你的tItem是局部变量,下次循环就会被覆盖,你将这个指针作为参数传到新线程中运行肯定有问题啊,接受新连接时tItem就变成新值,你当然就只能和最后一个连接通讯了。
      

  3.   

    AfxBeginThread(BBUDlg->RRUThreadProc, &tItem );
    第二个参数,你需要传给线程的是BBUDlg->m_RRUArray的地址以及idx,按照你线程函数的处理方法,直接传&BBUDlg应该可以把程序跑通。