我在服务器端用TIdTCPServer,接收数据以后用athread.connection.writebuffer(comblock,sizeof(comblock),true)往客户端发数据,comblock是个结构体 ,会一直发,数据量很大,经常造成缓冲区溢出,会报内存地址不能为写的错误,请教高手们怎么避免阿

解决方案 »

  1.   

    我没有遇到过这个问题,你用这个试一试
    WriteInteger(AHead.iDataSize + HEADLEN);
    OpenWriteBuffer;
    WriteStream(AMM, True, False, AHead.iDataSize + HEADLEN);
    CloseWriteBuffer;
      

  2.   

    楼上写的什么意思啊,WriteInteger(AHead.iDataSize + HEADLEN);这句话什么意思,同时AHead.值得是什么啊,
    WriteStream(AMM, True, False, AHead.iDataSize + HEADLEN);这句话有什么意思,AMM代表的是什么
      

  3.   

    将流压缩
    http://www.delphibbs.com/keylife/iblog_show.asp?xid=12992