2017-03-16 9 views
0

背景: 私はASP.Netを使用してWebソケットについて学んでいます。クライアントがまだ接続されていることを確認するためにハートビートを使用したアプリケーションがありました。私のアプリケーションでは、数秒ごとにハートビートを送信します。私が読んでいる間、私は卓球を使って同様のことを達成できることを発見しました。だからいくつかの調査の後、私はIISの一部としてpingを設定できることを発見しました。私のテストでは、私の心拍のように数秒ごとに接続がアイドルでない場合にのみ、pingが送信されることに気付きました。IIS WebSocketピンポンはアイドルでないときに送信します。

質問: 接続がアイドル状態のときだけでなく、数秒ごとにIISに送信する方法はありますか?または、私の唯一のオプションはカスタムping/pongロジックを実装することでしょうか?

答えて

2

いいえ、それを変更する方法はありません。構成がhttps://www.iis.net/configreference/system.webserver/websocket

に制限されている理由は、接続がアイドルでないことが確実なときにPINGフレームを送信する用途がないからです。なぜなら、System.Net.WebSockets APIはPING /とにかくポン。私はこれが間違っていると思います。PINGを使用して接続レイテンシを計算できるはずです(PONGは送信されたPINGをエコーし​​ますので、タイムスタンプを使用できます)。

はい、アプリケーションレベルで独自のPING/PONGを実装することが唯一の選択肢です。

関連する問題