当一次发送大量数据时,SOCKET内部会分成多次发送,接收端如何确保接收的完整的数据。
发送端 Sendtext('大量数据')接收端 SocketClientRead(sender: TObject; Socket: TCustomWinSocket)
如何确保收到完整的数据
    Socket.receivetext 只会读取部分数据如何实现?Socket 有没有标志可以判断是否接收完成

解决方案 »

  1.   

    自己定义一个数据包,例如:包头+长度+内容+包尾每次接收的时候判断该数据包是否接收完毕。完毕再进行处理
      

  2.   

    内部没有属性标专可以判断吗?
      

  3.   

    没有的,非阻塞的情况还有一个粘包问题
    就是接收的时候,几个发送的数据包连在一起
      

  4.   

    能否举例说明如何控制吗?小弟刚学这个,刚开始少量数据没有这个问题,
    后数据越测越大,发现了这个问题,昨天找了一天,到目前还没有解决。急!
    先谢过!
      

  5.   

    UP!请大家帮助解决, 在网上找了很久。