到这里去找吧:
www.vchelp.net

解决方案 »

  1.   

    用socket,出现亮个提示是什么问题?(file:sockcor.cpp,line:850),具体语句:
    具体如下:
    sockcore.app
    BOOL CSocket::PumpMessages(UINT uStopFlag)
    {
    // The same socket better not be blocking in more than one place.
    ASSERT(m_pbBlocking == NULL);_AFX_SOCK_THREAD_STATE* pState = _afxSockThreadState;ASSERT(pState->m_hSocketWindow != NULL);  (這一句)
    提示这里出错是什么意思?
      

  2.   

    是不是有多线程?而且是工作者线程?
    我也遇到这个问题,CSocket不是线程安全的,它需要一个隐含的Window去处理消息,直接改用API就不会有问题了。
      

  3.   

    不太难,找本Windows Socket编程的书看看吧
    就那么几个函数: select FD_ISSET recv send
    然后加上异常捕获就行了
      

  4.   

    当然要UDP,否则保持那么多连接(假设你好友很多)都需要保持
    系统资源会耗尽,
    你的好友都上线的话,你的机器就要变老牛了
    :)
      

  5.   

    Client传送数据给Servre,再由Server传送给你所想要传送的Client,Server与Client是没有办法直接通讯的。
      

  6.   

    thanks,to ly60269,怎么异常捕获呢?
      

  7.   

    TCP:只能是client-server通讯。这简直是一定的。
    想client-client,必须通过server转发。所以server负担会很重。
    如果你一定要这么搞,就定义几个协议用来转发吧。想做QQ,得用UDP。
    关于UDP,我不能告诉你。
    因为我也没搞明白。
    哈哈。
      

  8.   

    出面ASSERT是因为有两个线程在调用同一个CSocket,我也发现过的,只用一个线程就没有问题了。
      

  9.   

    我曾经仔细考虑过这个问题。
    1、必须是客户/服务器程序,重点在服务器中进行消息的交换。如果使用客户端到客户端直通,不通过服务器,方法倒是不成问题,首先需要解决的问题是网关的穿透问题。
    2、用UDP协议。在报文中定义目的和源(类似于QQ号)