2012-02-18 7 views
1

wsDualHttpBindingでデュプレックス通信を使用しています。サービスでクライアントのコールバックチャネルフォールトを検出する方法

サーバーにログインする各クライアント、GUIDおよびコールバックチャネルが構築され、辞書に保存されます。

クライアントが予期せずシャットダウンしたときにサービスが検出する方法が必要です。私はサーバー側でフォールトハンドラの関数をフックしようとしましたが、呼び出されることはありません。

wsDualtHttpBindingのコールバックとクライアントチャネルに異なるチャネルを使用するため、接続がサーバー側で半分開いているため、推測しています。

提案がありますか?

答えて

2

私はあなたがこれに対する解決策を得るつもりはないと思います。 WS *との互換性が必要ない場合は、クライアント&サーバー間で定期的にハートビートパケットを送信したカスタムバインディングとチャネルを、HTTP Long pollingと同様に作成すると考えられます。いくつかのハートビート(たとえば2)が欠落している場合、もう一方の端が切断されていると仮定します。それ以外の場合は、タイムアウトするまでクライアントが予期せず切断されたことをサーバーが知る方法はありません。

+0

ありがとうございました 接続がタイムアウトすると削除されます –

関連する問題