问题从BlazeDS向所有浏览器发送服务器端消息

时间:2010-10-29 19:44:26

标签: java flex coldfusion blazeds

我在服务器上的BlazeDS向Flex客户端发送消息时遇到了一些障碍。我的适配器和目标设置正确(我认为)messaging-config.xml和我的services-config.xml文件中的流媒体通道设置。消息在Safari(Mac和PC)中运行良好,但没有其他浏览器。

来自messaging-config.xml的相关位 适配器: 目的地:

<destination id="FriendNotifierGateway">
<adapter ref="friendNotifierAdapter" />
<properties>
  <server>
    <max-cache-size>1000</max-cache-size> 
    <durable>true</durable>
    <allow-subtopics>true</allow-subtopics>
    <subtopic-separator>.</subtopic-separator>
  </server>
</properties>        
<channels>
    <channel ref="my-streaming-amf"/>
    <channel ref="cf-polling-amf"/>
</channels>

来自services-config.xml的相关位

<channel-definition id="my-streaming-amf" class="mx.messaging.channels.StreamingAMFChannel">
      <endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amfsecure/streamingamf" class="flex.messaging.endpoints.StreamingAMFEndpoint" /> 
      <properties>
        <idle-timeout-minutes>0</idle-timeout-minutes> 
        <max-streaming-clients>500</max-streaming-clients> 
        <server-to-client-heartbeat-millis>5000</server-to-client-heartbeat-millis> 
        <user-agent-settings>
          <user-agent match-on="MSIE" kickstart-bytes="2048" max-streaming-connections-per-session="1" /> 
          <user-agent match-on="Firefox" kickstart-bytes="2048" max-streaming-connections-per-session="4" /> 
          <user-agent match-on="Safari" kickstart-bytes="2048" max-streaming-connections-per-session="3" />
          <user-agent match-on="Opera" kickstart-bytes="2048" max-streaming-connections-per-session="3" />
          <user-agent match-on="Chrome" kickstart-bytes="2048" max-streaming-connections-per-session="3" />   
        </user-agent-settings>
      </properties>

我觉得在频道定义中设置的东西是正确的,但也许,其中一些用户代理设置已关闭(我已经使用了他们的设置,到目前为止无济于事)。

提前感谢任何建议或见解!

此致 克雷格

1 个答案:

答案 0 :(得分:0)

我从未理清为什么服务器端消息从未到达客户端。但是,我的设置不太适合活动网站。所以,我转而使用ActiveMQ,从那以后,消息传递非常棒!