UDP发送数据:如何发送浮点型的数值

noall 2013-10-30 09:54:16
TIdUDPBase.SendBuffer(AHost: string; const APort: Integer; const ABuffer : TIdBytes);

这里提供发送的都是byte

浮点型的值要如何发送。

谢谢!
...全文
650 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
爱蹄子的羊头 2013-10-30
  • 打赏
  • 举报
回复
和 UDP 无关吧 主要是 sizeof(double) 双精度就是8字节嘛
蓝色光芒 2013-10-30
  • 打赏
  • 举报
回复

  d := 102.23; //双精度浮点数
  d2 := 12342.45;
  SetLength(Bufs , SizeOf(Double)*2);
  PDouble(@Bufs[0])^ := d;
  PDouble(@Bufs[8])^ := d2;  //类推或者循环多个数
  IdUDPClient1.SendBuffer('192.168.1.2' , 100 , Bufs);
noall 2013-10-30
  • 打赏
  • 举报
回复
哇。太好。 顺便问下: 如果是二个数字一起发送呢?
蓝色光芒 2013-10-30
  • 打赏
  • 举报
回复
var
  Bufs : TIdBytes;
  n : Single;
  d : Double;
begin
  n := 10.12;  //单精度浮点数
  SetLength(Bufs , SizeOf(n));
  PSingle(Bufs)^ := n;
  IdUDPClient1.SendBuffer('192.168.1.2' , 100 , Bufs);


  d := 102.23; //双精度浮点数
  SetLength(Bufs , SizeOf(d));
  PDouble(Bufs)^ := d;
  IdUDPClient1.SendBuffer('192.168.1.2' , 100 , Bufs);

end;

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧