程序需要在收到客户机的一个消息后立即返回ok,我的程序如下,但客户机收到的是乱码? 这是为什么阿?? 有经验的朋友教教我应该怎么做啊? 不胜感激procedure TForm1.TCPServerExecute(AThread: TIdPeerThread);
var
Client : TSimpleClient;
Msg : String;
revmsg: array[1..100] of Char;
len1,len2:integer;
begin
fillchar(revmsg,100,#0);
AThread.Connection.Readbuffer(revmsg,100);
Client := Pointer(AThread.Data);
memo1.Lines.Add(revmsg);
msg:='ok';
if revmsg<>'' then
AThread.Connection.Writebuffer(msg,length(msg),false); //发送ok
end;
var
Client : TSimpleClient;
Msg : String;
revmsg: array[1..100] of Char;
len1,len2:integer;
begin
fillchar(revmsg,100,#0);
AThread.Connection.Readbuffer(revmsg,100);
Client := Pointer(AThread.Data);
memo1.Lines.Add(revmsg);
msg:='ok';
if revmsg<>'' then
AThread.Connection.Writebuffer(msg,length(msg),false); //发送ok
end;
你用Sting当然不行的
改为用PChar了http://lysoft.7u7.net
Msg : array [1..MaxSize] of Char;