TIdUDPClient控件 用于实现一个UDP客户端 所属单元 IDUDPClient 本控件的通信标准是RFC 768,网址是:http://www.rfc-editor.org/rfc/rfc768.txt 本控件使用Send方法发送数据,远程主机由Host和Port属性指定。 属性 Host:String; 远程计算机名称。用来指定远程计算机系统。该名称可以是IP地址,如“129.71.2.4”,也可以是计算机 名称,如“wvnvm.wvnet.edu”。如果你要访问的目标计算机是UDP客户端所在计算机,Host属性应为“ 127.0.0.1”。 Port:Integer; 远程计算机端口号。 ReceiveTimeout: Integer; 指定绑定的socket的访问等待时间。单位毫秒。 Active: Boolean; 指定绑定的socket分派是否可用。 值得注意的是,在IDE环境下,active属性总是返回false。 Binding: TIdSocketHandle; 是只读属性。用来描述发送和接收数据socket。不像TCP,UDP不与远程计算机创建永久的连接。 BroadcastEnabled: Boolean; 该属性用来指定是否广播发送。 BufferSize: Integer; 指定UDP包的最大尺寸。 LocalName: string; 指定本地计算机名称。 Version: string; 指定Indy版本号。只读属性。 方法 procedure Send(AData: string); overload; 向远程计算机发送数据。 procedure SendBuffer(var ABuffer; const AByteCount: integer); overload; 向远程计算机发送数据。 Broadcast(const AData: string; const APort: integer); 向网络上的所有计算机发送数据。(广播) function ReceiveBuffer(var ABuffer; const ABufferSize: Integer; const AMSec: Integer = IdTimeoutDefault): integer; overload; function ReceiveBuffer(var ABuffer; const ABufferSize: Integer; var VPeerIP: string; var VPeerPort: integer; AMSec: Integer = IdTimeoutDefault): integer; overload; 从远程计算机读取数据。 function ReceiveString(const AMSec: Integer = IdTimeoutDefault): string; overload; function ReceiveString(var VPeerIP: string; var VPeerPort: integer; const AMSec: Integer = IdTimeoutDefault): string; overload; 从远程计算机读取数据 procedure Send(AHost: string; const APort: Integer; const AData: string); 向远程计算机发送数据 procedure SendBuffer(AHost: string; const APort: Integer; var ABuffer; const AByteCount: integer); 向远程计算机发送数据 事件 property OnStatus: TIdStatusEvent; 当前连接状态事件。 参数 aaArgs 被用来构造当前状态文本信息的格式化参数。 axStatus 当前连接状态。是以下状态之一: hsResolving - 主机名称被解析成IP地址 hsConnecting - 一个连接正在被打开 hsConnected - 一个连接已经被打开 hsDisconnecting - 一个连接正在关闭 hsDisconnected - 一个连接已经被关闭 hsText - 该连接正在产生含信息的消息