unit Unit4;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdUDPBase, IdUDPClient,
IdUDPServer,IdSocketHandle,IdGlobal;type
TForm4 = class(TForm)
IdUDPClient1: TIdUDPClient;
Button1: TButton;
Edit1: TEdit;
IdUDPServer1: TIdUDPServer;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure IdUDPServer1UDPRead(AThread: TIdUDPListenerThread; AData: TBytes;
ABinding: TIdSocketHandle);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form4: TForm4;implementation{$R *.dfm}procedure TForm4.Button1Click(Sender: TObject);
beginIdUDPClient1.Send('你好');
end;procedure TForm4.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
AData: TBytes; ABinding: TIdSocketHandle);
var
ss:string;
begin ss:=BytesToString(Adata);
showmessage(ss); end;end.
采用TIdUDPClient;
TIdUDPServer;通信
showmessage(ss)为什么弹出的为乱码
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdUDPBase, IdUDPClient,
IdUDPServer,IdSocketHandle,IdGlobal;type
TForm4 = class(TForm)
IdUDPClient1: TIdUDPClient;
Button1: TButton;
Edit1: TEdit;
IdUDPServer1: TIdUDPServer;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure IdUDPServer1UDPRead(AThread: TIdUDPListenerThread; AData: TBytes;
ABinding: TIdSocketHandle);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form4: TForm4;implementation{$R *.dfm}procedure TForm4.Button1Click(Sender: TObject);
beginIdUDPClient1.Send('你好');
end;procedure TForm4.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
AData: TBytes; ABinding: TIdSocketHandle);
var
ss:string;
begin ss:=BytesToString(Adata);
showmessage(ss); end;end.
采用TIdUDPClient;
TIdUDPServer;通信
showmessage(ss)为什么弹出的为乱码
通常的做法是用byte()数组接收,然后再StrConv 函数转换成字符