包 | mx.messaging |
类 | public class ChannelSet |
继承 | ChannelSet ![]() ![]() |
子类 | AdvancedChannelSet |
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
默认 MXML 属性channels
属性 | 由以下参数定义 | ||
---|---|---|---|
connected : Boolean [只读]
指示 ChannelSet 是否已连接。 | ChannelSet | ||
![]() | constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | |
heartbeatInterval : int
此 ChannelSet 已主动连接但处于空闲状态时,每次发送检测信号到远程主机之间的毫秒数。 | ChannelSet |
方法 | 由以下参数定义 | ||
---|---|---|---|
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | |
![]() |
将事件调度到事件流中。 | EventDispatcher | |
![]() |
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | |
![]() |
表示对象是否已经定义了指定的属性。 | Object | |
![]() |
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | |
从服务器注销 ChannelSet。 | ChannelSet | ||
![]() |
表示指定的属性是否存在、是否可枚举。 | Object | |
![]() |
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | |
![]() |
设置循环操作动态属性的可用性。 | Object | |
![]() |
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | |
![]() |
返回指定对象的原始值。 | Object | |
![]() |
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher |
方法 | 由以下参数定义 | ||
---|---|---|---|
重新调度来自当前连接的 Channel 的消息事件。 | ChannelSet |
事件 | 摘要 | 由以下参数定义 | ||
---|---|---|---|---|
![]() | [广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。 | EventDispatcher | ||
![]() | [广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。 | EventDispatcher |
connected | 属性 |
heartbeatInterval | 属性 |
heartbeatInterval:int
此 ChannelSet 已主动连接但处于空闲状态时,每次发送检测信号到远程主机之间的毫秒数。任何出站消息通信将临时延迟检测信号,即在上一条消息发出之后,在该指定的毫秒数后,再发出下一个检测信号。
此属性对于以下应用程序很有用:这些应用程序连接到远程主机以接收已推送的更新,且不主动发送任何消息,但仍希望在断开连接时收到通知(即使当网络层无法直接提供这样的通知时也是如此)。在基础连接已断开但未发出通知,且应用程序可以对断开连接做出适当响应时,通过发出定期检测信号,客户端可以强制网络层报告超时。
任何非正值会禁用到远程主机的检测信号。默认值 0 指示检测信号已禁用。如果应用程序设置此值,应该首选较长的时间间隔,而不是较短的时间间隔,才能避免对远程主机施加不必要的负载。以下示例是一个典型示例:低级 TCP 套接字保持活动状态的时间间隔通常默认为 2 小时。此时间间隔比启用检测信号的大多数应用程序将可能希望使用的时间间隔更长,但它可作为首选较长时间间隔而不是较短时间间隔的一个清晰先例。
如果当前已连接的基础 Channel 发出对远程主机的轮询请求,则因为定期轮询请求有效地代替了它们,所以检测信号被抑制。
实现
public function get heartbeatInterval():int
public function set heartbeatInterval(value:int):void
logout | () | 方法 |
public function logout(agent:MessageAgent = null):mx.rpc:AsyncToken
从服务器注销 ChannelSet。与 Channel 和 ChannelSet 上的其他操作不同,此操作将返回客户端代码可能将响应方添加到的 AsyncToken,以便直接处理成功或失败。如果注销成功,将为 ChannelSet 及其 Channel 清除所有为了用于自动重新连接而进行缓存的凭据,并且将它们已经过身份验证的状态设置为 false。如果调用此方法时 ChannelSet 尚未连接到服务器,它将触发连接尝试,如果连接尝试成功,则会向服务器发送注销命令。
MessageAgent 参数旨在支持旧的注销行为,并且调用此方法的客户端代码将不会传递 MessageAgent 引用。仅调用 logout()
不会传递任何参数。
服务组件也从它们的 logout()
方法调用此方法,并且这些组件在注销时将 MessageAgent 引用传递给此方法。此参数的出现可触发执行旧的注销行为,该行为与以上所述的新行为不同。如果客户端已连接并且已经过身份验证,则旧的行为仅向服务器发送注销请求。如果不满足这些条件,此方法的旧行为除仅清除所有为用于自动重新连接而进行缓存的凭据之外,不会进行任何其他操作。
参数
agent:MessageAgent (default = null ) — Legacy 参数。启动注销的 MessageAgent。
|
mx.rpc:AsyncToken — 返回客户端代码为了直接处理成功或失败而可能向其添加 responder 的标记。
|
引发
IllegalOperationError — 如果登录或注销操作当前正在进行中。
|
messageHandler | () | 方法 |
protected function messageHandler(event:MessageEvent):void
重新调度来自当前连接的 Channel 的消息事件。
参数
event:MessageEvent — 来自 Channel 的 MessageEvent。
|
Tue Jun 12 2018, 11:04 AM Z