0

JavaScript クライアントの使用から:

サーバー URL にプロトコル プレフィックスがないことに注意してください。新しいディスパッチャに渡す URL に http:// または ws:// を追加しないでください。WebSocketRails は、利用可能な最適なトランスポートを選択し、正しいプレフィックスを自動的に付加します。

初めて WebSocketRails を使用しています。クライアントで次のエラーが発生します。

「ws://localhost:3000/websocket」への WebSocket 接続に失敗しました: ハンドシェイク応答を受信する前に接続が閉じられました

ブラウザを に移動するとhttp://localhost:3000/websocket、期待どおりのメッセージが表示されます。wsURLに移動すると、ERR_DISALLOWED_URL_SCHEME. したがって、サーバーはメッセージを生成しているように見えますが、クライアントは間違ったプロトコルを試みています。

httpクライアントにではなくプロトコルを強制的に使用させたり、サーバーに ではなくプロトコルwsを強制的にブロードキャストさせるにはどうすればよいですか?wshttp

4

1 に答える 1

2

ソースコードを掘り下げて、最終的に答えを見つけました。コンストラクターの 2 番目のパラメーターが呼び出されuse_websockets、既定値はtrueです。に設定すると、の代わりにfalse使用するように強制されるようです。httpws

var dispatcher = new WebSocketRails('localhost:3000/websocket',false);
于 2016-02-18T16:16:42.637 に答える