BlazeDS Channel立即连接和断开连接

时间:2011-09-09 15:13:27

标签: flex blazeds amf

我正在使用一个简单的Flex组件连接到BlazeDS服务器,该组件只是试图订阅实时数据

以下是频道和消费者

    <mx:ChannelSet id="channelSet">
            <mx:AMFChannel url="http://localhost:8080/MyApp/messagebroker/streamingamf/"/>     
    </mx:ChannelSet>        
    <mx:Consumer id="consumer" 
                 destination="feed" 
                 channelSet="{channelSet}"
                 channelConnect="consumer_channelConnectHandler(event)"
                 channelDisconnect="consumer_channelDisconnectHandler(event)"
                 message="consumer_messageHandler(event.message)"
                 fault="consumer_faultHandler(event)"/>

我在连接后立即断开连接(调用了consumer_channelConnectHandler和consumer_channelDisconnectHandler)。

你有什么想法吗?

1 个答案:

答案 0 :(得分:3)

这里有几点需要注意:

  • 您有一个StreamingAMF端点配置为AMFChannel。这是错误的,我怀疑你想要StreamingAMFChannel

  • 如果您与消费者使用AMFChannel,则需要与AMFLongPolling端点通信,在这种情况下,您的AMFChannel应该pollingEnabled设为true。但是,我怀疑你真的想要StreamingAMFChannel,在这种情况下,请看第1点。

  • 配置StreamingAMFChannel后,您会发现仍然可以立即断开客户端连接。如果您有来自同一客户端的多个连接(即。标签),并且services-config.xml设置max-streaming-connections-per-session太低,则会发生这种情况。通常你会希望这个设置为1,但是对于开发来说,这可能很痛苦,所以设置得更高,并使用单独的services-config.xml生产设置进行生产。