首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

indy的简略通信

2012-12-29 
indy的简单通信procedure TForm3.btn1Click(Sender: TObject) //发送edt1的内容给serverbeginIdUDPClient

indy的简单通信


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;
//输出的结果是乱码,对这个不懂,求懂得指点下

[解决办法]
你传递的数据是不是有中文?用的delphi版本是不是2009以上?
如果是就要这样:
IdUDPClient1.send(Edit1.text,TEncoding.UTF8);//指定编码

memo2.Lines.Add(TempStream.DataString,,TEncoding.UTF8);

热点排行