2012-05-06 54 views
0

我有一臺運行在Windows 2008計算機上的Java服務器應用程序,並且我經常通過RDP連接來監視它或完成其他工作。但是,如果我的RDP連接一直滯後,Windows似乎也會掛斷,從而導致Java放棄部分客戶端連接。有誰知道爲什麼一些RDP數據包丟失會以這種有害的方式影響系統,並且如果有什麼可以做的呢?否則我可能需要開始使用第三方遠程應用程序。如果您的RDP連接滯後,爲什麼Java服務器會滯後?

+0

爲什麼會滯後不影響你的Java應用程序? –

+0

......或者你認爲RDP是什麼原因?肯定更可能是機器上游的網絡擁塞,這會影響RDP和Java應用程序。 –

+0

這是一款具有顯着網絡容量的高端專用服務器。在過去的12個月裏,相當確鑿的證據表明,任何突然的大量客戶端斷開連接都會導致一片片狀的RDP連接,並且終止RDP會話是穩定服務器的最佳方式。 –

回答

1

通常期望在屏幕上繪畫是同步和快速的,在這種情況下,如果其他任務需要在UI線程上執行,或者UI線程持有與後臺線程競爭的鎖,通常無關緊要。但是,只要您將RDP放入混音中,UI線程就會一直持續到繪製完成,如果連接不暢,可能需要一些時間。這將對任何必須等待油漆完成的任務產生連鎖反應。

我的理解是VNC的工作原理是記錄更新的區域,並異步地抓取它們並將更新的數據發送到客戶端,而pcAnywhere通過將paint命令遮蔽並異步發送給客戶端來工作。這兩個功能都允許應用程序在遠程連接追上時全速繪製。

+0

看起來像一個似是而非的解釋。 Java服務器應用程序定期將事件數據打印到控制檯窗口,我認爲這會在用戶界面上得到保留。我想知道是否禁用這些打印輸出(標準System.out.println)可以避免這個問題。這並不是一個真正的選擇,因爲我們需要了解服務器的功能。 –