indy10的 IdUDPServer问题

myyebin 2012-05-16 06:54:46
这个是D7的用法

type
TCSQueryPackage= packed record
Head:Dword;
Data:array [0..20] of Char;
end;


var
CSQuery:TCSQueryPackage;
selectserver:integer ;
begin
CSQuery.Head:=$FFFFFFFF;
StrCopy(@CSQuery.Data[0],'details');
idpsrvr1.SendBuffer('61.152.44.99',27001,CSQuery ,12);
end;

放到2010上就用不了,需要怎么修改才可以用
...全文
189 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
UnkownState 2012-11-19
  • 打赏
  • 举报
回复
注意unicode和ansi的char一个是2B,一个是1B。 发送使用TBytes var data: TBytes; begin data := rawToBytes(结构体); sendbytes(data,....)
mz941 2012-11-18
  • 打赏
  • 举报
回复
你是如何接收和 bytes转换为 汉字的
mz941 2012-11-18
  • 打赏
  • 举报
回复
myyebin 我的qq:234812517 想和你讨论学习
myyebin 2012-05-16
  • 打赏
  • 举报
回复
谢谢楼上的发是可以发了不知道哪里错了
正常的发出去应该是这个字节 FF FF FF FF 64 65 74 61 69 6C 73 00 字符是....details....
现在发出去变成了FF FF FF FF 64 00 65 00 74 00 61 00 69 00 6C 00 73 00 00 00 4C 01 30 A5 4C 01 FA 41 40 00 B1 60 40 00 04 F3 12 00 30 14 4A 00 0E 00 00 00 2C 字符是....d.e.t.a.i.l.s...L.0.L..A@..`@.....0.J.....,.

代码改成了这样
 idpsrvr1.SendBuffer('61.152.242.114',27001,RawToBytes(CSQuery, SizeOf(CSQuery)))
myyebin 2012-05-16
  • 打赏
  • 举报
回复
可以给个例子吗楼上的,还有你的头像好。。。。
changsn 2012-05-16
  • 打赏
  • 举报
回复
INDY10 ,发送的类型为BYTES,通过函数,rawtobytes转换为字节数组。才可以发送。
要添加单元 IDglobal

5,388

社区成员

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

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