簡単な答えは、接続がタイムアウトするまでわからないということです。これは、SignalRが以前には分からないためです。
あなたがトラップすることができるようなものであっても、iPadをトラップすることができます - スタンバイに移行するiPad - あなたの接続をきれいにするJavaScriptコードを取得できるという通知はありませんそれが起こる前に。
クライアントに送信するデータの性質によっては、サーバーがクライアントに最小限のデータパケットを送信してデータがあることを通知するデータ利用可能通知形式に切り替えることでバッファリングを最小限に抑えることができます取り出されるのを待ってから、クライアント側に情報を要求させる。場合によっては、アプリケーションまたはトランスポート層でバッファされるデータの量が大幅に削減されることがあります。
もちろん、通知ごとに数キロバイトのデータがあり、それらをすべて逐次配信に保存する必要がある場合は、トランスポート層でのバッファリングを減らし、ステップを元に戻してアプリケーションの責任にします。
もう1つの方法は、クライアントがJSタイマーインスタンスから実行中のハートビートを送信させることです。 1秒おきに(必要なリアルタイムに応じて)、クライアントはサーバ上のメソッドを呼び出し、基本的にはどれがまだライブかを知ることができます。いくつかの失敗したチェックイン(たとえば、聞いたことがない5回のヒアビート)の後に、クライアントがなくなったと仮定して、情報の送信を停止することができます。サーバーは各クライアント接続の最後のハートビートを追跡する必要があり、特定のクライアントに何かを送信するたびに、最近チェックインしたかどうかをチェックするだけです。そうでない場合は、データプロバイダに再度チェックインするまでクライアントがオフラインであることを知らせます。その時点で、リロードしてやり直す必要があるかもしれません。