flex StreamingAMFChannel

http://livedocs.adobe.com/flex/3_cn/langref/mx/messaging/channels/StreamingAMFChannel.html

mx.messaging 包的內容直接不让你看,adobe 太整不成了.

是为了 BlazeDS,不开放这些方法么?


StreamingAMFChannel 类支持消息传送并提供与基 AMFChannel 不同的推送模型.流通道将打开与处于打开状态的服务器之间的内部 HTTP 连接(而不是从服务器轮询数据),以允许服务器将数据传送到无需轮询开销的客户端.
通过此通道发送给服务器的消息使用 NetConnection 发送,并且在操作期间使用内部的 HTTP 连接.消息发送并返回确认或错误消息后,通道将释放 NetConnection 使用的 HTTP 连接.虽然通道保持打开状态可以接收服务器推送的数据,但这些客户端到服务器的消息并不通过流 HTTP 连接发送.

虽然此类可扩展基 AMFChannel 来继承常规 AMF 处理,但它并不支持轮询.

例子


import mx.messaging.ChannelSet;
import mx.messaging.channels.StreamingAMFChannel;
/**
 * Create the AMF Channels
 * that messages will be
 * sent and recieved from.
 */
protected function getChannelSet():ChannelSet
{
	if (channelSet != null && serverUrl == messagingUrl.text)
	{
		// User has not changed URL.
		// Use existing channelSet.
		return channelSet;
	}
	
	serverUrl = messagingUrl.text;
	var channel:StreamingAMFChannel = new StreamingAMFChannel("streaming-channel", serverUrl);
	
	// Create a channel set and add channel(s) to it
	channelSet = new ChannelSet();
	channelSet.addChannel(channel);
	
	return channelSet;
}

主要看构造函数

StreamingAMFChannel	()	构造函数
public function StreamingAMFChannel(id:String = null, uri:String = null)
创建新的 StreamingAMFChannel 实例.

参数
id:String (default = null) — 此 Channel 的 id.
 
uri:String (default = null) — 此 Channel 的 uri.