消费者如何知道在ChannelSet中使用哪个Channel?

时间:2010-06-20 09:27:35

标签: flex messaging

如果您在Flex中订阅Consumer,则需要为Consumer分配一个ChannelSet。在我的例子中,我创建了一个ChannelSet,然后将Channel添加到该ChannelSet。

显然,添加的频道是ChannelSet的当前频道。但是,如果我将两个Channel添加到ChannelSet呢?我需要在订阅之前设置currentChannel吗?

如果ChannelCet中有两个通道,并且我在ChannelSet上触发登录方法,那么两个通道都会被认证并连接吗?

1 个答案:

答案 0 :(得分:4)

ChannelSet将使用首先添加的频道,并在无法到达频道时回退到其他频道。 currentChannel属性是一个只读属性,指向当前正在使用的通道。

以下是文档中的信息:

  

无论是聚类,还是频道   无法连接或失去连接,   ChannelSet将进入其中   下一个可用频道并尝试   重新连接。这允许ChannelSet   通过使用的频道进行搜索   不同的协议,端口等   搜索可以连接到它的一个   端点成功。

关于登录:在ChannelSet上调用login()将使用相同的Channels线性查找,并将在第一个Channel上进行身份验证。如果您添加另一个频道,它将被添加到频道列表中,如果需要使用它,ChannelSet也将在新频道上进行身份验证(因为凭据已保存)。至少,这是我可以通过查看Flex SDK中的ChannelSet代码来减少的。