永发信息网

怎样通过IdTCPClient发送和接收16进制

答案:2  悬赏:70  手机版
解决时间 2021-04-16 19:47
  • 提问者网友:半生酒醒
  • 2021-04-16 02:49
怎样通过IdTCPClient发送和接收16进制
最佳答案
  • 五星知识达人网友:千杯敬自由
  • 2021-04-16 03:25
你的服务端返回数据时先发送数据包的长度,然后再发送数据包。这样你在接收时先调用ReadInteger得到将要接收的数据包的长度,然后再调用ReadString接收数据。我不确定ReadString的用法,如果不行的话,改为ReadStream方法,但服务端也要改为发送
全部回答
  • 1楼网友:逃夭
  • 2021-04-16 04:24
C#吗?
你可以参考一下这个
var
wdata : array[0..100] of byte;
wLen : Integer;
begin
s := Edit1.text; // 你要发的内容
wLen := Length(s);
move(wdata[0], s[1], wLen);
// 发送
idTcpClient.writeBuffer(wdata, wlen);
// 读信息用 idTcpClient.ReadBuffer就可以了
end;
或者动态数组里面可以这样
var
sbuf: array of byte;
i,j: Integer;
begin
SetLength(sbuf,28);
for j := 0 to 28-1 do
begin
sbuf[j]:=StrToInt('$AA');
end;
for j := 0 to 28-1 do
begin
AThread.Connection.WriteBuffer(sbuf[j],1);
end;
你可以看一下CSDN论坛,我记得见过有人问过类似的问题
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯