你可以用一标志来处理,当客户段处理完当前的包后向服务器发一标志如:ready,则服务器再发包,如此循环,直至服务器发结束标志如:eof。

解决方案 »

  1.   

    关键是服务器端只管自己发包,不来理你处理完没有,而且该程序不可改。只有阻塞方式或许可以延缓服务器端发包。看了帮助使用阻塞方式要用流,但没有例子,不知如何做。哪位有这方面例子可以发信至[email protected],万分感谢!
      

  2.   

    同意luoweicaisd(笑三少) 的说法,可以仿照停--等协议
      

  3.   

    楼上的好想法。。我以前的是这样实现的:
    客户端 1。socket只管收,发
           2。对大的数据处理放到单独的线程里
           3。c 与 s之间有收发包检查机制。。
          
      

  4.   

    不呀,楼主说了,服务器那过改不了了,
    这种情况很多的,协议人家也做好了,
    一般是买外厂的设备,如表,测试仪器等,
    我们以前用过串口的,
    他们就用一招,死命取数,(程序在这个时候其实是死的,幸好时间不长,<1S)
    你还是开发出快速接收的线程吧,
    要不,以后也是个问题
    另,这种厂家一般都有相应的通讯控件呀,(你们为什么不都买下来,??)有人解决,我听课了,
      

  5.   

    使用WinSock API,不使用ClientSocket
    使用阻塞方式。