本帖最后由 oyljerry 于 2014-12-19 16:35:16 编辑

解决方案 »

  1.   

    按理每个线程的socket是独立的,不会有任何干扰的,是否你使用了全局变量或是在线程里使用了CSocket对象?
      

  2.   

    开始设计时我也认为线程是独立的,对socket没啥影响,就做成这样了,也没考虑更多问题。
    我用的线程都没有用到锁,也没用到会阻塞的全局变量。
    另外,我也试过这两种情况:
    1、把我的软件打开两次,我觉得这样应该和多进程差不多,然后分别连接不同的两个服务器,情况也差不多,总有一个会卡。
    2、我也试过在线程发送数据的循环中加入睡眠,还是不能解决问题。
    3、向两个不同IP的服务器以100ms或1s 的的频率发送命令时,总是只有一个能实时及时发送出去,另一个都是在缓存堆了几十条命令才一次发送,甚至断开
    不知道是数据发的不够快,都阻塞在底层的缓冲区里还是线程的问题。