我用idtcpclient连接对方的,当我用下列语句向对方发送edit1中的内容马上成功而且对方会有respone,并发送回复包给我,我如何显示到richedit中?我试了好久都没有成功(用writeln,readln成功过,但是对方回复的包会在发送包的基础上加回码,而由于writeln含有换行符,结果当readln时会把这个回码变没了)
procedure Tsockfrm.Button1Click(Sender: TObject);
var
txt:pchar;
str1:tstrings;
str2:string;
begin
getMem(txt,Length(edit1.Text)+1);
ZeroMemory(txt,Length(edit1.Text)+1);
txt:=Pchar(edit1.Text);
idtcpclient1.WriteBuffer(txt^,length(edit1.Text));
end;
procedure Tsockfrm.Button1Click(Sender: TObject);
var
txt:pchar;
str1:tstrings;
str2:string;
begin
getMem(txt,Length(edit1.Text)+1);
ZeroMemory(txt,Length(edit1.Text)+1);
txt:=Pchar(edit1.Text);
idtcpclient1.WriteBuffer(txt^,length(edit1.Text));
end;
或者,用stream也可以!
var
context:string;
MyStream: TMemoryStream;
begin
Try
context:='MGXSH'; // M+gxsh +某人
MyStream := TMemoryStream.Create;
MyStream.Clear;
MyStream.Write(Context[1], Length(Context));
try
NMUDP_Time.RemoteHost:= P_IP;
NMUDP_Time.SendStream(MyStream);
except
application.MessageBox('无法建立连接!','连接错误!',0);
end;
finally
MyStream.Free;//
end;
end;