IdTCPClient1接收到消息包后,反馈信息时发送消息包,能不能还是使用
IdTCPClient1.WriteLn(edMessage.Text);
现在要求在消息包前边加载4个字节的长度值与消息一起发送,而且长度值用16进制字符表示的4位整数
假设我要发送的是s:='hello'
IdTCPClient1.WriteLn(edMessage.Text);
现在要求在消息包前边加载4个字节的长度值与消息一起发送,而且长度值用16进制字符表示的4位整数
假设我要发送的是s:='hello'
IdTCPClient1.WriteInteger(iValue);
IdTCPClient1.WriteLn(edMessage.Text);
或者用
IdTCPClient1.WriteBuffer(...)
var
buf:array of char;
cnt:integer;
s:string;
begin
SetLength(buf,20);
cnt:=5;
s:='hello';
Pinteger(buf)^:=cnt;
CopyMemory(pChar(integer(buf)+4),pChar(s),Length(s));
IdTCPClient1.WriteBuffer(buf,sizeof(integer)+Length(s));
end;