procedure TForm3.btn1Click(Sender: TObject); //发送edt1的内容给server
begin
IdUDPClient1.Connect();
IdUDPClient1.Send(Edt1.text);
IdUDPClient1.Disconnect();
//通过Indy Client UDP发送消息
end;procedure TForm3.IdUDPServer1UDPRead(Sender: TObject; AData: TBytes;
ABinding: TIdSocketHandle); //这里ADate是TBytes,为什么?书上怎么是stream
Var
TempStream : TStringStream;
begin
TempStream := TStringStream.Create('');
TempStream.Write(Adata,sizeof(Adata));
memo2.Lines.Add(TempStream.DataString);
TempStream.free;
end;
//输出的结果是乱码,对这个不懂,求懂得指点下
如果是就要这样:
IdUDPClient1.send(Edit1.text,TEncoding.UTF8);//指定编码memo2.Lines.Add(TempStream.DataString,,TEncoding.UTF8);
应该是:
memo2.Lines.Add(TEncoding.UTF8.GetString(AData));