0

websocket 接続を確立する前にws urlを変更する必要があります。

私は@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 接続の実行中に欠落しているヘッダー情報に接続しないことは明らかです。

どんな提案や考えも大歓迎です。ありがとうございました。

4

1 に答える 1

1

request.attachHeadersAsQueryString = false を使用して、クエリ文字列が渡されるようにします。Javascript の最新バージョンへのアップグレードが必要な場合があります

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

-- ジャンフランソワ (Atmosphere のリード)

于 2015-06-22T13:46:21.097 に答える