比如第1字节是个常数,后面是封包大小,封包里有dword值,有string这种情况大家通常是怎么做的?用byte数组吗?还是其他的

解决方案 »

  1.   

    定义一个record,里面是你需要的字段,然后传递这个record既是
      

  2.   

    可以简单的给几句吗?Record定义好了,不知道用IdTCPClient怎么发送这个结构
      

  3.   

    把record放到流里传送,其实转来转去就是传送流数据
      

  4.   

    定义一个buf,这个buf的长度等于sizeof(record),这个record要定义成packer record,然后把这个类型的变量放到buf里面发送,CopyMemory(@buf,@record,sizeof(record));这样把record里面的内容复制到buf,再发送就好了,怎么发送Indy9,Indy10各有各的方法,你可以自己尝试一下,服务器接收到buf以后,再用CopyMemory(@record,@buf,sizeof(record));把buf里面的数据复制到record里面,
      

  5.   

    var
      _TempPacket :TPersonInfo;TcpClient1.SendBuf(_TempPacket, sizeof(_TempPacket));