idTCPServer 向 idTCPClient 每分钟发送两次数据,一天下来,好像要丢掉一条数据,不知道会不会有这种情况。
有没有办法解决这类事情?

解决方案 »

  1.   

    我觉得数据可靠性最好自己控制,而不是靠TCP/IP协议控制反正我是没有遇到数据丢失的情况。
      

  2.   

    我客户端用的不是idTCPClient而是用的别人TCP终端,处理起来比较麻烦,终端程序又看不到不能改。
      

  3.   

    是不是dTCPServer,处理接收数据不够快
      

  4.   

    idTCPServer处理数据,已经证明足够快。server端没问题
      

  5.   

    你自己用IdTCPClient写一个客户端,证明自己的SERVER没有问题嘛。
      

  6.   

    像idTCPServer 与 idTCPClient之间不停的发送数据这样的通讯,建议采用同步的方式来处理,客户端发送数据-->等待服务器回应-->再次发送
         ||                ∧  
         ∨                ||
    服务收到数据  -->  回就客户端一个简单的信息(如1个字节也可以)客户端再次发送数据之间,不要用sleep来延时,而是waitfor 服务器的回应信息;这样,不会出现每次等3秒的情况,也不会出现丢失其中一条数据的可能
      

  7.   

    我没有用sleep而是用线程每100毫秒检查一下有没有返回,是客户端返回到我这要三秒。
      

  8.   

    还有就是缓冲区满的问题,服务器端发得快,比如1秒钟发1万次,客户端那边收不及时也会导致数据丢失。还有就是idTCPClient接收数据时都没有事件触发,所以还得用一个专用的线程一直监视到电脑关机为止,如果你不监视万一有数据发过来,又是不知道?我感觉这样好浪费CPU资源!