[解決済み] ブラウザからWebSocketのPing/Pongフレームを送信する
質問
ウェブソケットで接続を維持するためのping/pongメッセージについてずっと読んでいますが、それが何なのかよくわかりません。 それは明確なフレームタイプですか(私はピンポンに関連するクロームのjavascriptのWebSocketオブジェクト上の任意のメソッドを見ません)。 それとも単なるデザインパターンなのでしょうか(たとえば、文字通りサーバに "ping" などの文字列を送信し、応答させる)。 ping-pongは継続フレームと全く関係がないのでしょうか?
Mongrel2に特定のping/pongメッセージを送ることで、私のPythonアプリが心配することなく、接続を維持することができるのでしょうか? そのために別の HTTP メソッドを用意するのと同じような感じでしょうか。 そして、専用の ping/pong メッセージフレームは、文字列 "ping" よりもシンプル(サーバーとネットワークの負荷が少ない)であると想像しています、おそらくそれはあまり重要ではないでしょうが。
EDIT: 私はちょうど見てみました。 RFC 6455 で、PingとPongは独自のオペコードを持つコントロールフレームタイプであることは間違いなさそうです。 では、ChromeのjavascriptからPingフレームを送信するにはどうすればよいのでしょうか?
どのように解決するのですか?
Pingフレームを送信したり、Pongフレームを受信するためのJavascript APIはありません。これはブラウザによってサポートされているか、されていないかのどちらかです。また、ブラウザが ping/pong フレームをサポートし、使用しているかどうかを有効化、設定、検出するための API もありません。ありました Javascript の ping/pong API を作成することについて議論しました。 このため 将来的にPingを設定/検出できるようになる可能性はありますが、Javascriptで直接Ping/Pongフレームを送受信できるようになるとは思えません。
しかし、もしあなたがクライアントとサーバーの両方のコードを制御するなら、より高いレベルで簡単にping/pongサポートを追加することができます。もしまだそれがなければ、メッセージに何らかのメッセージタイプのヘッダー/メタデータが必要になりますが、それはとても簡単なことです。1秒間に何百回もPingを送信する予定があったり、何千ものクライアントが同時に存在するのでなければ、自分で行う場合のオーバーヘッドはかなり小さくなるでしょう。
関連
-
Vueがechartsのtooltipにクリックイベントを追加するケーススタディ
-
要素ツリー制御によるvueTreeテーブル
-
Vueはランニングライト形式のテキストを水平方向にスクロールする機能を実装している
-
vue+webrtc(Tencent cloud)ライブ機能の実践を実現するために
-
vueにおけるfilterの適用シーンについて解説します。
-
[解決済み】Uncaught SyntaxError: JSONの位置0に予期しないトークンuがあります。
-
[解決済み] 配列の結合時に未定義のプロパティ 'push' を読み込むことができない
-
[解決済み】awaitは非同期関数でのみ有効です。
-
[解決済み] 期待される代入または関数呼び出し: 未使用式なし ReactJS
-
[解決済み] socket.ioとwebsocketの違いについて
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
親子コンポーネント通信を解決する3つのVueスロット
-
Vueの要素ツリーコントロールに破線を追加する説明
-
Vueはランニングライト形式のテキストを水平方向にスクロールする機能を実装している
-
vueの補間表現とv-textディレクティブの違いについて
-
Vueでルートネスティングを実装する例
-
[解決済み】JavaScriptの配列でforEachが関数でない不具合
-
[解決済み】GETできない / Nodejsエラー
-
[解決済み】JavaScript TypeError: null のプロパティ 'style' を読み取ることができない
-
[解決済み】ERROR エラーです。スイッチのname属性が指定されていないフォームコントロールの値アクセッサがない
-
HTML5 LocalStorage ローカルストレージとセッションストレージの使用法