原文:http://www.herrodius.com/blog/162
如果你正在IE8下使用BlazeDS的HTTP Streaming功能,默认条件下,这个功能是不能正常工作的。这个Bug已经被记录在http://bugs.adobe.com/jira/browse/BLZ-378 中。
HTTP Streaming 是一种介于Socket连接和HTTP Poll之间的方式。其应用方面主要是及时应用需求较高的地方,比如聊天,在线多人互动游戏,白板。他同步数据的实时性介于Socket连接和Http poll。
对于Socket连接,他的优点在于防火墙穿透性非常好,由于其实现是使用HTTP线程,因此,如果给大型企业开发应用时,遇到比较严格的企业防火墙机制,HTTP Streaming是比Socket连接更好的选择。
而对于Http poll来说,由于HTTP Steaming采用一个HTTP线程监听,一个HTTP线程取数据,自然延迟要比HTTP Poll小很多,效率也要高出N多倍。
这里,Adobe 的Bug追踪系统给出了暂时在IE8下的解决方案:在服务器上,配置services-config.xml (一般在WEB-INF/flex/下)对max-streaming-clients 这个属性进行配置。
<channel -definition id= "my-streaming-amf" class= "mx.messaging.channels.StreamingAMFChannel" > <endpoint url= "http://{server.name}:{server.port}/{context.root}/messagebroker/streamingamf" class= "flex.messaging.endpoints.StreamingAMFEndpoint" /> <properties > <max -streaming -clients > 10 </max -streaming -clients > </properties > </channel -definition >