4

私は、取引所の施設内に物理的に配置されたサーバーへのリモート デスクトップ接続を介して、ユーザーがプライマリ取引アプリケーションと対話する商社で働いています。

私たちのソフトウェアの特徴は、ネットワークに何か問題が発生して RD セッションが切断された場合に、すべての見積もりを自動的に切断してプルすることです。

これを検出するには、アプリケーションのメイン フォームのメソッドをオーバーライドしますWndProc。ここで、メッセージ パラメータがチェックされます。

Msg == WM_WTSSESSION_CHANGE

と:

WParam.ToInt32() == WTR_REMOTE_DISCONNECT

これは、リモート デスクトップが完全に切断される通常のケースではうまく機能するようです。

ただし、 RD セッションが応答しなくなり (つまり、クリックしても何も起こらない)、明らかに上記のメッセージが受信/処理されないという、短時間の明らかな切断がユーザーに発生することがあります。しばらくすると (通常は 10 秒以内)、ユーザーに「リモート デスクトップに再接続しています...」(またはそのようなメッセージ) というメッセージが表示され、突然 RD セッションが再び応答を開始します。

この pull-quotes-on-remote-desktop-disconnect 機能の全体的な考え方は、基本的に、ユーザーが何が起こっているかを確認できないままアプリケーションが取引されるというシナリオを防ぐことであるため、できることは非常に望ましいことです。 RD セッションが、この「ほとんど切断された」状態として説明する状態にあることを検出します。

これを検出する方法を知っている人はいますか?

4

1 に答える 1

1

私の唯一の提案は、常に Exchange サーバーに ping を実行し、ping の待ち時間が長すぎる場合は切断することです。

私は取引所がこの考えを高く評価するとは思わない.

于 2010-07-22T15:21:43.987 に答える