ping
およびpong
イベントは、Webサイト(socket.io/docs)に文書化されていないため、誰かが独自のピンポンシステムを実装しようとすると混乱を招く可能性があります。 ブラウザのsocket.emit('pong')
は、ソケットを介して何も送信されません( localStorage.debug = '*';
)。おそらくsocket.emit('ping')
は、開発者に予約済みのキーワードであることを知らせるエラーを報告する必要があります。 。
README.mdから:
- `ping`. Fired when a ping packet is written out to the server.
- `pong`. Fired when a pong is received from the server.
Parameters:
- `Number` number of ms elapsed since `ping` packet (i.e.: latency)."
同意しました!
すばらしいマニュアルを読まなければならないことはわかっていますが、コードが機能しなかった理由を理解するために、何とか数時間(そして髪の毛)を失いました。
完全に私のせいですが、「これらのイベントは予約されています。別のことを試してください」という警告が表示されたら、とても気に入りました。
いつものようにPRは大歓迎です!
私はすでにそれを検討しましたが、ウェブサイトのソースを含むリポジトリを見つけることができませんでした。 多分私はただ無能であるか、あまりにも疲れていました、あなたは私にそれを指摘することができますか?
私はこれを見始めたばかりですが(ここを参照)、これにはverbose
パラメーターのようなものが必要です。 さらに、これはこれらの「内部」イベントによってもトリガーされると確信しています。 そして最後にconsole.warn.calledWith()
は期待に存在しません。
まだいくつかの作業を必要とします ...
非アクティブのため終了しました。必要に応じて再度開いてください。
#1054(ページは現在何もレンダリングしない)のため、問題が修正されたかどうかを知るのは難しいです。
ping / pongは、ネットワーキングの基本的なたわごとではありませんか? なぜ彼らは文書化されないのでしょうか? サーバーとクライアントの間で(ソケット接続時に)自動的に4番目に送信されるpingイベントとpongイベントがありますか? もしそうなら、レイテンシーを測定するためにこれらのイベントとそのタイムスタンプをどのように見るのですか?
これを再開できますか、ForgeableSumに同意します。 より多くのドキュメントが必要です。
すでに文書化されていますhttps://github.com/socketio/socket.io-client/blob/master/docs/API.md#event-ping-1 、カスタムpingイベントからデータを受信しようとして何時間も苦労していましたクライアントから送信されたため、このイベントをオーバーライドできないようです。 😅
うーん。 私はここでたくさんの時間を燃やしました。 RTFM。
最も参考になるコメント
ping / pongは、ネットワーキングの基本的なたわごとではありませんか? なぜ彼らは文書化されないのでしょうか? サーバーとクライアントの間で(ソケット接続時に)自動的に4番目に送信されるpingイベントとpongイベントがありますか? もしそうなら、レイテンシーを測定するためにこれらのイベントとそのタイムスタンプをどのように見るのですか?