indy 10 下IdTCPClient的使用? ( 积分: 20 )

  • 主题发起人 主题发起人 oushengfen
  • 开始时间 开始时间
O

oushengfen

Unregistered / Unconfirmed
GUEST, unregistred user!
IdTCPClient在以前的版本时,发送数据时,直接使用WriteBuffer就可以进行发送,现在Indy 10 下怎么没有发送Buffer的函数或过程了啊?
要与服务器端进行通讯,需要发送二制数据时,怎么发送啊。
 
没有人使用过吗?
 
那位用过,来回答一下
 
Indy10采用动态数组发送数据,所以没有WriteBuffer方法了,你如果是结构,需要用RawToBytes函数转换,如果是内存块,需要Move到IdBytes中才能发送。

uses IdGlobal;

var
Buf: TIdBytes;
Rec: TMyRec;
begin
Rec.XXX := XXX; //赋值
Buf := RawToBytes(Rec, SizeOf(Rec));
IdTCPClient.Socket.Write(Buf);
...
end;
上述伪码可能并不100%准确,请参考Indy帮助和Indy源码自行修改。
 
Write,之后怎么判断写成功了。
 
不抛出异常就是写成功了
 
Indy10的DEMO怎么很少,没有IdTCPClient这些例子啊。
 
后退
顶部