例如:
type
  srecord=record
  SS_Handle: integer;
  request_str: string;
end;
怎么把一个Srecord类型的变量用SOCKET传送?

解决方案 »

  1.   

    Socket.ReadBuffer(srecord,sizeof(srecord))
      

  2.   

    Socket.WriteBuffer(srecord,sizeof(srecord))
      

  3.   

    上面写错了,应该是Socket.SendBuffer(srecord,sizeof(srecord))
      

  4.   

    不过,用string类型送好吗?我一般都改成 char;数组
      

  5.   

    将request_str定义为
    request_str:array[0..dataLen-1]of char
    ss_Handle可通过自定义协议来实现。
      

  6.   

    任何数据包括自定义数据都是放在一段内存区域内的,
    所以理论上socket.send(buf,len);可以发送一切数据.但是似乎超过8k就不行了.
      

  7.   

    注意:传送String类型或者在结构中包含string的都要注意。同样的适用于传送对象,一般好像还没有人直接传送对象吧!嗬嗬string类型的必须转移到一个明确长度的Pchar当中,并且不要在结构中包含,要在结构中包含的,必须在结构中使用静态数组