在使用flex + blazeds 实现推服务时,如果客户端订阅成功后,如果重新刷新浏览器或重新打开一个窗口时,服务器端会出现这一句提示:
[BlazeDS]Endpoint with id 'my-streaming-amf' cannot grant streaming connection to FlexClient with id '4F4BDE15-F51A-FA05-1995-04E6479F3AF2' because max-streaming-connections-per-session limit of '1' has been reached.
这是由于不同浏览器的session的连接数量有限制,IE最大为2个,Firefox为8个,每打开一个窗口为一个session,但是
打开一个窗口后,用ctrl+n新建的窗口和前窗口为同一个session
BlazeDS提供了一种方式来处理这种情况,
<default-channels> <channel ref="my-streaming-amf"/> <channel ref="my-polling-amf"/> </default-channels>
当第一个通道连接失败时,就采用第二个通道来连接