2010-07-22 19 views
4

我爲一家貿易公司工作,我們的用戶通過遠程桌面連接與位於交易所設施內的服務器進行交互,從而與主交易應用交互。有沒有辦法檢測「幾乎」遠程桌面斷開連接(即短暫的高延遲時間)?

我們軟件的一項功能是,如果網絡出現問題並且RD會話斷開,它會自動斷開並拉出所有報價。

Msg == WM_WTSSESSION_CHANGE 

和:

WParam.ToInt32() == WTR_REMOTE_DISCONNECT 

這似乎是工作在正常大

檢測,這是通過重寫應用程序的主要形式,其中消息參數是檢查的WndProc方法來實現遠程桌面的情況完全斷開。

然而,有時會發生用戶體驗短時間的斷開,其中RD會話變得無響應(即,點擊不做任何事情),但顯然上述消息未被接收/處理。在一會兒 - 通常約10秒鐘 - 用戶看到消息「重新連接到遠程桌面...」(或類似的東西),突然RD會話再次開始響應。

由於這種拉引號的遠程桌面斷開功能的整個想法是爲了防止基本上我們的應用程序在沒有用戶能夠看到發生的事情的情況下進行交易,這對我們來說是非常理想的以便能夠檢測RD會話何時處於我將描述爲「幾乎斷開連接」的狀態。

有人知道我們如何檢測到這一點?

回答

1

我唯一的建議是不斷ping通交換服務器,如果ping延遲太高,請斷開連接。

我不認爲交易所會讚賞這個想法。