萬盛學電腦網

 萬盛學電腦網 >> Windows xp教程 >> 簡單又安全的體驗 Windows遠程桌面

簡單又安全的體驗 Windows遠程桌面

  為了方便用戶連接遠程桌面,從Windows 2000 Server開始微軟公司就為用戶提供遠程桌面技術,但是隨著互聯網科技日新月異的發展使得遠程桌面連接水平不斷攀升,遠程控制軟件也迅速進入了人們的視野,越來越多的辦公人員希望利用遠程技術來提高工作效率。本教程就給大家講解Windows遠程桌面的那點事.

  個人不喜歡服務端程序,以 Windows 操作系統作為運行平台,但是,很多時候,迫於環境現狀,需要讓自己的程序實現跨平台。

  在開發全新的金山游戲運營平台時,發現:雖然大部分游戲,服務端程序運行在 Linux 服務器,但是,仍有例外。幾款最近代理的游戲,服務端運行在 Windows 服務器上。西山居開發的游戲,服務端集群架構,既有 Windows 服務器,又有 Linux 服務器。

 Linux 服務器

  游戲運行系統的 Knose 程序,我最初是在 Linux 下開發的,後來才實現了兼容 Windows 的跨平台版本。

  在 Linux 下,Knose 為“父子進程+指令處理線程池+獨立功能多線程”結構;在 Windows 上,將 Knose 父子進程結構,拆分成了 knose_daemon.exe(Service 服務程序)和 knose.exe(主程序),由 knose_daemon.exe 啟動 knose.exe。

knose.exe

  遇到了問題:按照運營維護需求,knose.exe 以及通過它啟動的游戲服務端進程,需要有“窗口界面”,顯示在桌面中。而 knose_daemon.exe 是以服務方式運行的,無窗口界面,knose_daemon.exe 啟動的 knose.exe,窗口界面沒有彈出來。

  為了解決這個問題,我在 install.bat 中,用了 Windows 的 sc 命令,將 knose_daemon.exe 啟動為系統服務,“type= interact type= own”設置了“允許桌面與服務交互”。在本機(Windows XP SP3)測試,knose.exe 的窗口界面以及通過它啟動的游戲進程窗口界面,都彈出來了。 上一頁12下一頁共2頁

  @echo off

  sc create "KingeyesKnose" binPath= "%CD%\knose_daemon.exe" DisplayName= "Kingeyes Knose Daemon" start= auto type= interact type= own

  sc description KingeyesKnose "金山游戲運營系統 KingEyes Knose 守護進程。"

  sc start KingeyesKnose

  於是將程序發布到 Windows Server 2003 服務器上,遠程桌面連接上去,發現 knose.exe 的窗口界面始終彈不出來。

  後來,同事發現,原來是“遠程桌面”惹的禍:

  遠程桌面客戶端 mstsc 有一個 /console 參數,模式等同於本地終端顯示器登錄,/console 不會去占用非 /console 遠程桌面,遠程桌面允許兩個正常連接和一個控制台/console方式連接,並且正常連接和 /console 連接的桌面操作不能相互看見,只有通過 /console 參數遠程桌面連接到 Windows 2003 服務器,才能夠看到彈出的 knose.exe 窗口界面。

  在 Windows XP SP3 以上版本,/console 參數改名為 /admin,需要用 mstsc /admin 啟動遠程桌面:

  連上後,終於能夠看到由 knose_daemon.exe 啟動的 knose.exe 程序窗口,以及由 knose.exe 啟動的游戲服務端進程窗口了。

上一頁12 下一頁共2頁
copyright © 萬盛學電腦網 all rights reserved