氛围 - 需要在连接

时间:2015-06-22 13:24:25

标签: atmosphere atmosphere.js

我需要在建立websocket连接之前修改 ws 网址。

我在服务器代码中使用@ManagedService并使用$.atmosphere.subscribe(request)从客户端订阅。

我有以下设置:

Cyberoam firewall --> Apache httpd(mod_proxy_ajp,mod_jk for load balancing) --> Glassfish

Primary Transport --> WebSocket
Fallback Transport --> long-polling

我面临的问题: Cyber​​oam防火墙有一个限制(在WAF中),GET URL中的最大字符数不能超过 50个字符。但是当我在氛围中点击订阅时,它正在构建包含所有X-Atmosphere-..参数的URL。

例如明显超出允许限度的ws://localhost:8080/chat?X-Atmosphere-tracking-id=5ebed4c5-0b90-4166-88b2-9f273719ab75&X-Atmosphere-Framework=2.2.1-jquery&X-Atmosphere-Transport=websocket&Content-Type=application/json&X-atmo-protocol=true")

我只需要知道我是否可以在我的服务器代码中以某种方式构建URL,在连接之前附加所有必需的头和参数?

是的,我在发出初始请求时设置了attachHeadersAsQueryString:false,显然它在进行WebSocket连接时没有连接丢失的头信息。

任何建议/想法都将不胜感激。 谢谢。

1 个答案:

答案 0 :(得分:1)

使用request.attachHeadersAsQueryString = false,以便传递mo查询字符串。您可能需要升级到最新版本的Javascript

https://github.com/Atmosphere/atmosphere-javascript

- Jeanfrancois(Atmosphere'领导)