TIdUDPServer控件
用来实现一个UDP服务器
所在单元
IdUDPServer
属性
property Bindings: TIdSocketHandles;
用来收集f TIdSocketHandle实例。包含ID_SOCK_DGRAM类型的socket。
property DefaultPort: integer;
监听新连接的端口。
property ThreadedEvent: boolean;
指示UDP读事件的执行方式。是否以线程的形式执行
property Active: Boolean;
是否开始监听。
property Binding: TIdSocketHandle;
只读属性。指示读写传送的socket句柄。
property BroadcastEnabled: Boolean;
是否广播传送数据。
property BufferSize: Integer;
UDP包的尺寸。
property ReceiveTimeout: Integer;
从一个服务中读取数据的超时时间。
property LocalName: string;
本地计算机名称。
property Version: string;
只读属性,用来获取Indy部件的版本号码。
方法
procedure Broadcast(const AData: string; const APort: integer);
在网络上发送数据到所有的计算机。
unction 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 OnUDPRead: TUDPReadEvent;
UDP读取事件发生时执行。
参数
ABinding
接受UDP数据报的socket。
AData
在UDP数据报中接受数据的流。
property OnStatus: TIdStatusEvent;
指示当前连接状态的句柄。
参数
aaArgs
用来构造当前状态文本消息的格式化参数。
axStatus
当前连接状态。取值范围与TIdUDPClient类中的OnStatus事件相同。
procedure BeginWork(AWorkMode: TWorkMode; const ASize: Integer = 0); virtual;
当OnBeginWork事件触发时执行
AWorkMode可以取的值:
wmRead--从远程连接中读取数据。
wmWrite-- 向远程连接发送数据。
procedure DoWork(AWorkMode: TWorkMode; const ACount: Integer); virtual;
当OnWork事件触发时执行。
procedure EndWork(AWorkMode: TWorkMode); virtual;
当OnEndWork事件触发时执行。