羅汶鋒+++曾培彬
摘 要:提出一種基于Delphi的網絡遠程控制系統,該系統通過Delphi進行設計,過程實現了用戶管理與操作記錄,提高了數據安全性。系統核心功能在于網絡抓屏,可以應用于管制類實時操作系統,以存儲計算機操作過程便于后續空管設備故障排查及安全事件調查。同時也可應用于空管業務網,進行設備的智能維護。
關鍵詞:遠程控制;網絡抓屏;Delphi;空管設備
1 概述
當前,空中交通管理信息化與智能化更加深入實際工作,而這個過程帶來了計算機在空管工作中的快速應用發展,例如用于交通管制的空管自動化、航班控制的飛行計劃、設備監控系統、氣象系統等多個業務系統。與此同時,這些日益智能化的系統無不依賴于工業或普通計算機。對于安全調查及設備維護而言,系統的實時監控是非常有必要的,加之隨著業務網的不斷擴大,設備分布于各機房點(甚至邊遠臺站)日益增多,這些都急需一個能夠智能控制、可遠程服務及實時監控包括用戶操作的智能系統。文章提出一種基于Delphi的遠程控制系統,系統核心功能在于遠程網絡抓屏,能夠應用于空管一線,提高工作效率及安全保障率。
2 實現機制
2.1 截屏圖片處理
系統實現通過計算機部署客戶端軟件,該軟件將定時分情況對服務器進行發送命令需求。這種設計在于減少頻繁抓屏對系統造成的網絡堵塞及硬件資源占用。對于系統平時無人操作、運行穩定的情況下,采用每隔5分鐘進行抓屏請求。當用戶頻繁操作及設備軟件故障時,通過每隔1秒進行抓屏請求。在實現上,首先由客戶端發起抓圖指令,再由服務器響應。在Delphi實現上有如下:
procedure TServerForm.ServerSocket1ClientRead(Sender: TObject;Socket: TCustomWinSocket);
var
size:integer;
cmd:string;
begin
cmd:=Socket.ReceiveText;
if cmd='Capture' then //Capture是客戶端發送過來的抓圖命令,server受到后即開始抓圖
begin
capture; //通過capture過程抓圖
size:=inttostr(MemoryStream.Size);
socket.SendText(size);//把流的大小發送給client
end
else
if cmd='SendStream' then //client收到stream大小后命令server發送流
begin
MemoryStream.Position:=0;
socket.SendStream(MemoryStream);
end;
end;
其中過程capture是系統實現的主要核心過程,用于遠程抓屏。具體實現通過幾個步驟:首先獲取屏幕當前圖像,主要通過將jpg數據格式壓縮進數據流中,初始化數據流memorystream(定義圖片的寬度為屏幕寬度,圖片高度為屏幕高度,并在Delphi中定義jpg的圖像壓縮質量jpg.CompressionQuality:=50。將圖片轉換為jpg格式并填入數據流MemoryStream中);其次,將已經處理好的MemoryStream的基本信息發送給予客戶端,等待客戶端發送請求后進行抓屏;在客戶端上,分別設置5分鐘與1秒鐘的定時器,在定時器內部進行抓屏命令發送函數的設計如下:
procedure TFormClient.BtnCaptureClick(Sender: TObject);
begin
ClientSocket1.Socket.SendText('Capture');
Receiving:=true;
end;
另外,對于用戶是否有操作,如何決定是否進行高頻率抓屏進入哪個定時器,系統通過客戶端檢測模塊實現。主要針對用戶的鍵盤與鼠標進行時間檢測,在Delphi上有:
procedure TForm1.Timer1Timer(Sender: TObject);
var
vLastInputInfo: TLastInputInfo;
begin
vLastInputInfo.cbSize := SizeOf(TLastInputInfo);
GetLastInputInfo(vLastInputInfo);
Caption := Format('%d ',
[(GetTickCount - vLastInputInfo.dwTime) div 1000]);
end;
針對上述用戶沒使用鍵盤與鼠標的時間間隔統計變量進行判斷,當間隔大于5分鐘時認為其應該5分鐘抓屏一次。最后,在服務器端進行數據的處理、存儲與顯示。顯示主要依靠控件image進行,而程序首先設定好數據的接收緩沖區,則根據空管實際需要可以設置為buffer:array [0..10000] of byte。數據處理方面主要考慮接收的字節數,并以此讀出IP包的長度,接收后讀入上述的緩沖區內,并追加到memorystream文件流中。整個過程定義如若流長度大于接收字節長度則認為接收完畢,一張截屏圖的接收完成。當然,在數據流的處理方面,必須再反向操作將數據讀到本地的jpg對象中,并借此將其轉換為bmp圖像,分配給予imge控件并釋放系統已占用資源。
2.2 系統的遠程桌面功能
基于實際工作情況,系統提出自動遠程截圖的功能主要用于對遠程計算機的監控及數據備份。而對于提高設備維護來說系統提供遠程桌面功能,用于對監控現狀以及平時的技術維護操作。在Delphi中,系統實現也較為簡單。
通過mstscax.dell的引入可以進行快捷開發設計。在系統組件面板中使用控件MsTscAx和MsRdpClient。前者是本模塊設計的關鍵。在BCB中初始化該組件(包括桌面高度、寬度、連接IP、登錄名、數據壓縮設置等參數項)便可簡單實現終端及服務客戶端。系統對遠程桌面的設計集成了windows本身自帶的遠程功能,主要作用體現在:一是對遠程計算機IP的輪詢實現多計算機的同時監控功能;二是對于重要遠程文件目錄實現軟件上的自動備份,并對備份文件進行入庫管理,方便后續檢索及遠程計算機相應的空管系統恢復。
3 結束語
文章提出一種適用于空管的遠程控制系統,該系統的核心功能在于快速高效的遠程截屏功能,能夠實現人工與自動的遠程截屏,其中自動遠程截屏可以實現對設備的實時監控,同時提供其他遠程控制系統的功能,為空管技術維護保障提供一種技術手段,同時也可以用于大型局域網內計算機的管理。
參考文獻
[1]李芳.屏幕共享中截屏技術的研究與實現[J].湖南冶金職業技術學院學報,2009(1).
[2]劉勝達,舒杰.截圖軟件設計與實現的新方法[J].哈爾濱理工大學學報,2009(5).
[3]徐向陽,曹幫琴.差異截圖法實現屏幕圖像快速傳輸[J].南陽師范學院學報,2007(9).
作者簡介:羅汶鋒(1987-),男,廣東廣州人,工學碩士,研究生,民航中南地區空中交通管理局助理工程師,研究方向為空管自動化與信息化、空管通信系統。endprint
摘 要:提出一種基于Delphi的網絡遠程控制系統,該系統通過Delphi進行設計,過程實現了用戶管理與操作記錄,提高了數據安全性。系統核心功能在于網絡抓屏,可以應用于管制類實時操作系統,以存儲計算機操作過程便于后續空管設備故障排查及安全事件調查。同時也可應用于空管業務網,進行設備的智能維護。
關鍵詞:遠程控制;網絡抓屏;Delphi;空管設備
1 概述
當前,空中交通管理信息化與智能化更加深入實際工作,而這個過程帶來了計算機在空管工作中的快速應用發展,例如用于交通管制的空管自動化、航班控制的飛行計劃、設備監控系統、氣象系統等多個業務系統。與此同時,這些日益智能化的系統無不依賴于工業或普通計算機。對于安全調查及設備維護而言,系統的實時監控是非常有必要的,加之隨著業務網的不斷擴大,設備分布于各機房點(甚至邊遠臺站)日益增多,這些都急需一個能夠智能控制、可遠程服務及實時監控包括用戶操作的智能系統。文章提出一種基于Delphi的遠程控制系統,系統核心功能在于遠程網絡抓屏,能夠應用于空管一線,提高工作效率及安全保障率。
2 實現機制
2.1 截屏圖片處理
系統實現通過計算機部署客戶端軟件,該軟件將定時分情況對服務器進行發送命令需求。這種設計在于減少頻繁抓屏對系統造成的網絡堵塞及硬件資源占用。對于系統平時無人操作、運行穩定的情況下,采用每隔5分鐘進行抓屏請求。當用戶頻繁操作及設備軟件故障時,通過每隔1秒進行抓屏請求。在實現上,首先由客戶端發起抓圖指令,再由服務器響應。在Delphi實現上有如下:
procedure TServerForm.ServerSocket1ClientRead(Sender: TObject;Socket: TCustomWinSocket);
var
size:integer;
cmd:string;
begin
cmd:=Socket.ReceiveText;
if cmd='Capture' then //Capture是客戶端發送過來的抓圖命令,server受到后即開始抓圖
begin
capture; //通過capture過程抓圖
size:=inttostr(MemoryStream.Size);
socket.SendText(size);//把流的大小發送給client
end
else
if cmd='SendStream' then //client收到stream大小后命令server發送流
begin
MemoryStream.Position:=0;
socket.SendStream(MemoryStream);
end;
end;
其中過程capture是系統實現的主要核心過程,用于遠程抓屏。具體實現通過幾個步驟:首先獲取屏幕當前圖像,主要通過將jpg數據格式壓縮進數據流中,初始化數據流memorystream(定義圖片的寬度為屏幕寬度,圖片高度為屏幕高度,并在Delphi中定義jpg的圖像壓縮質量jpg.CompressionQuality:=50。將圖片轉換為jpg格式并填入數據流MemoryStream中);其次,將已經處理好的MemoryStream的基本信息發送給予客戶端,等待客戶端發送請求后進行抓屏;在客戶端上,分別設置5分鐘與1秒鐘的定時器,在定時器內部進行抓屏命令發送函數的設計如下:
procedure TFormClient.BtnCaptureClick(Sender: TObject);
begin
ClientSocket1.Socket.SendText('Capture');
Receiving:=true;
end;
另外,對于用戶是否有操作,如何決定是否進行高頻率抓屏進入哪個定時器,系統通過客戶端檢測模塊實現。主要針對用戶的鍵盤與鼠標進行時間檢測,在Delphi上有:
procedure TForm1.Timer1Timer(Sender: TObject);
var
vLastInputInfo: TLastInputInfo;
begin
vLastInputInfo.cbSize := SizeOf(TLastInputInfo);
GetLastInputInfo(vLastInputInfo);
Caption := Format('%d ',
[(GetTickCount - vLastInputInfo.dwTime) div 1000]);
end;
針對上述用戶沒使用鍵盤與鼠標的時間間隔統計變量進行判斷,當間隔大于5分鐘時認為其應該5分鐘抓屏一次。最后,在服務器端進行數據的處理、存儲與顯示。顯示主要依靠控件image進行,而程序首先設定好數據的接收緩沖區,則根據空管實際需要可以設置為buffer:array [0..10000] of byte。數據處理方面主要考慮接收的字節數,并以此讀出IP包的長度,接收后讀入上述的緩沖區內,并追加到memorystream文件流中。整個過程定義如若流長度大于接收字節長度則認為接收完畢,一張截屏圖的接收完成。當然,在數據流的處理方面,必須再反向操作將數據讀到本地的jpg對象中,并借此將其轉換為bmp圖像,分配給予imge控件并釋放系統已占用資源。
2.2 系統的遠程桌面功能
基于實際工作情況,系統提出自動遠程截圖的功能主要用于對遠程計算機的監控及數據備份。而對于提高設備維護來說系統提供遠程桌面功能,用于對監控現狀以及平時的技術維護操作。在Delphi中,系統實現也較為簡單。
通過mstscax.dell的引入可以進行快捷開發設計。在系統組件面板中使用控件MsTscAx和MsRdpClient。前者是本模塊設計的關鍵。在BCB中初始化該組件(包括桌面高度、寬度、連接IP、登錄名、數據壓縮設置等參數項)便可簡單實現終端及服務客戶端。系統對遠程桌面的設計集成了windows本身自帶的遠程功能,主要作用體現在:一是對遠程計算機IP的輪詢實現多計算機的同時監控功能;二是對于重要遠程文件目錄實現軟件上的自動備份,并對備份文件進行入庫管理,方便后續檢索及遠程計算機相應的空管系統恢復。
3 結束語
文章提出一種適用于空管的遠程控制系統,該系統的核心功能在于快速高效的遠程截屏功能,能夠實現人工與自動的遠程截屏,其中自動遠程截屏可以實現對設備的實時監控,同時提供其他遠程控制系統的功能,為空管技術維護保障提供一種技術手段,同時也可以用于大型局域網內計算機的管理。
參考文獻
[1]李芳.屏幕共享中截屏技術的研究與實現[J].湖南冶金職業技術學院學報,2009(1).
[2]劉勝達,舒杰.截圖軟件設計與實現的新方法[J].哈爾濱理工大學學報,2009(5).
[3]徐向陽,曹幫琴.差異截圖法實現屏幕圖像快速傳輸[J].南陽師范學院學報,2007(9).
作者簡介:羅汶鋒(1987-),男,廣東廣州人,工學碩士,研究生,民航中南地區空中交通管理局助理工程師,研究方向為空管自動化與信息化、空管通信系統。endprint
摘 要:提出一種基于Delphi的網絡遠程控制系統,該系統通過Delphi進行設計,過程實現了用戶管理與操作記錄,提高了數據安全性。系統核心功能在于網絡抓屏,可以應用于管制類實時操作系統,以存儲計算機操作過程便于后續空管設備故障排查及安全事件調查。同時也可應用于空管業務網,進行設備的智能維護。
關鍵詞:遠程控制;網絡抓屏;Delphi;空管設備
1 概述
當前,空中交通管理信息化與智能化更加深入實際工作,而這個過程帶來了計算機在空管工作中的快速應用發展,例如用于交通管制的空管自動化、航班控制的飛行計劃、設備監控系統、氣象系統等多個業務系統。與此同時,這些日益智能化的系統無不依賴于工業或普通計算機。對于安全調查及設備維護而言,系統的實時監控是非常有必要的,加之隨著業務網的不斷擴大,設備分布于各機房點(甚至邊遠臺站)日益增多,這些都急需一個能夠智能控制、可遠程服務及實時監控包括用戶操作的智能系統。文章提出一種基于Delphi的遠程控制系統,系統核心功能在于遠程網絡抓屏,能夠應用于空管一線,提高工作效率及安全保障率。
2 實現機制
2.1 截屏圖片處理
系統實現通過計算機部署客戶端軟件,該軟件將定時分情況對服務器進行發送命令需求。這種設計在于減少頻繁抓屏對系統造成的網絡堵塞及硬件資源占用。對于系統平時無人操作、運行穩定的情況下,采用每隔5分鐘進行抓屏請求。當用戶頻繁操作及設備軟件故障時,通過每隔1秒進行抓屏請求。在實現上,首先由客戶端發起抓圖指令,再由服務器響應。在Delphi實現上有如下:
procedure TServerForm.ServerSocket1ClientRead(Sender: TObject;Socket: TCustomWinSocket);
var
size:integer;
cmd:string;
begin
cmd:=Socket.ReceiveText;
if cmd='Capture' then //Capture是客戶端發送過來的抓圖命令,server受到后即開始抓圖
begin
capture; //通過capture過程抓圖
size:=inttostr(MemoryStream.Size);
socket.SendText(size);//把流的大小發送給client
end
else
if cmd='SendStream' then //client收到stream大小后命令server發送流
begin
MemoryStream.Position:=0;
socket.SendStream(MemoryStream);
end;
end;
其中過程capture是系統實現的主要核心過程,用于遠程抓屏。具體實現通過幾個步驟:首先獲取屏幕當前圖像,主要通過將jpg數據格式壓縮進數據流中,初始化數據流memorystream(定義圖片的寬度為屏幕寬度,圖片高度為屏幕高度,并在Delphi中定義jpg的圖像壓縮質量jpg.CompressionQuality:=50。將圖片轉換為jpg格式并填入數據流MemoryStream中);其次,將已經處理好的MemoryStream的基本信息發送給予客戶端,等待客戶端發送請求后進行抓屏;在客戶端上,分別設置5分鐘與1秒鐘的定時器,在定時器內部進行抓屏命令發送函數的設計如下:
procedure TFormClient.BtnCaptureClick(Sender: TObject);
begin
ClientSocket1.Socket.SendText('Capture');
Receiving:=true;
end;
另外,對于用戶是否有操作,如何決定是否進行高頻率抓屏進入哪個定時器,系統通過客戶端檢測模塊實現。主要針對用戶的鍵盤與鼠標進行時間檢測,在Delphi上有:
procedure TForm1.Timer1Timer(Sender: TObject);
var
vLastInputInfo: TLastInputInfo;
begin
vLastInputInfo.cbSize := SizeOf(TLastInputInfo);
GetLastInputInfo(vLastInputInfo);
Caption := Format('%d ',
[(GetTickCount - vLastInputInfo.dwTime) div 1000]);
end;
針對上述用戶沒使用鍵盤與鼠標的時間間隔統計變量進行判斷,當間隔大于5分鐘時認為其應該5分鐘抓屏一次。最后,在服務器端進行數據的處理、存儲與顯示。顯示主要依靠控件image進行,而程序首先設定好數據的接收緩沖區,則根據空管實際需要可以設置為buffer:array [0..10000] of byte。數據處理方面主要考慮接收的字節數,并以此讀出IP包的長度,接收后讀入上述的緩沖區內,并追加到memorystream文件流中。整個過程定義如若流長度大于接收字節長度則認為接收完畢,一張截屏圖的接收完成。當然,在數據流的處理方面,必須再反向操作將數據讀到本地的jpg對象中,并借此將其轉換為bmp圖像,分配給予imge控件并釋放系統已占用資源。
2.2 系統的遠程桌面功能
基于實際工作情況,系統提出自動遠程截圖的功能主要用于對遠程計算機的監控及數據備份。而對于提高設備維護來說系統提供遠程桌面功能,用于對監控現狀以及平時的技術維護操作。在Delphi中,系統實現也較為簡單。
通過mstscax.dell的引入可以進行快捷開發設計。在系統組件面板中使用控件MsTscAx和MsRdpClient。前者是本模塊設計的關鍵。在BCB中初始化該組件(包括桌面高度、寬度、連接IP、登錄名、數據壓縮設置等參數項)便可簡單實現終端及服務客戶端。系統對遠程桌面的設計集成了windows本身自帶的遠程功能,主要作用體現在:一是對遠程計算機IP的輪詢實現多計算機的同時監控功能;二是對于重要遠程文件目錄實現軟件上的自動備份,并對備份文件進行入庫管理,方便后續檢索及遠程計算機相應的空管系統恢復。
3 結束語
文章提出一種適用于空管的遠程控制系統,該系統的核心功能在于快速高效的遠程截屏功能,能夠實現人工與自動的遠程截屏,其中自動遠程截屏可以實現對設備的實時監控,同時提供其他遠程控制系統的功能,為空管技術維護保障提供一種技術手段,同時也可以用于大型局域網內計算機的管理。
參考文獻
[1]李芳.屏幕共享中截屏技術的研究與實現[J].湖南冶金職業技術學院學報,2009(1).
[2]劉勝達,舒杰.截圖軟件設計與實現的新方法[J].哈爾濱理工大學學報,2009(5).
[3]徐向陽,曹幫琴.差異截圖法實現屏幕圖像快速傳輸[J].南陽師范學院學報,2007(9).
作者簡介:羅汶鋒(1987-),男,廣東廣州人,工學碩士,研究生,民航中南地區空中交通管理局助理工程師,研究方向為空管自動化與信息化、空管通信系統。endprint