翻譯|使用教程|編輯:況魚杰|2019-10-09 16:51:10.730|閱讀 590 次
概述:我們將使用服務器和客戶端來構建解決方案。關于RealThinClient Components 的客戶端的第一課很簡單,但它展示了客戶端-服務器系統背后的概念,該服務器系統可能是大型應用程序的基礎。我們將使用遠程功能來完成此任務。本文將會介紹編寫您的第一個遠程功能的第一節-服務器。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
RealThinClient SDK是用于開發標準的HTTP(S)服務器,ISAPI擴展以及客戶端的VCL控件。可用于Windows下的CodeGear Delphi 6-2010。關于RealThinClient SDK的教程會持續更新,本節是RealThinClient SDK的第四課,如何從服務器發送小文件。
服務器
這是我們有關如何使用遠程功能的第一個示例。基本上,我們正在使用:
rtcServerModule
rtcFunctionGroup
rtcFunction
使用這三個組件,我們可以編寫可以由RTC客戶端調用的函數。
步驟:
打開一個新項目
我們在IDE中打開一個新項目。
將Form1的Caption屬性更改為Server for Remote Function Calls。
使用RtcHttpServer組件
從組件的面板中獲取RtcHttpServer并將其拖到項目的主窗體中,然后,將其重命名為RtcHttpServer。
將RtcHttpServer1組件重命名為RtcHttpServer,在屬性中,將端口設置為80。
現在,為我們的主窗體定義OnCreate事件,以使我們的RtcHttpServer組件在應用程序啟動后立即開始偵聽請求。
現在,我們已經配置了RtcHttpServer組件并準備接受請求。
procedure TForm1.OnCreate(Sender: TObject) begin RtcHttpServer.Listen(); end;
使用RtcServerModule和RtcFunction組件
從RTC服務器選項卡上,在窗體上放置一個RtcFunctionGroup:
將其重命名為RtcFunctionGroup對于要實現遠程功能的每個窗體或模塊,將使用一個FunctionGroup。所述RtcFunctionGroup組件提供訪問一組遠程功能。
要實現遠程功能,您將至少需要一個RtcFunctionGroup組件并將一個或多個RtcFunction組件鏈接到該組件。功能組用于將功能調用作為來自同一組的其他功能調用的參數。RtcServerModule和RtcClientModule組件主要使用它來保存其遠程功能的實現。
接下來,從RTC服務器選項卡上,在窗體上放置一個RtcServerModule。
對于RtcServerModule
設置FunctionGroup = RtcFunctionGroup
設置ModuleFileName = / mytest
設置服務器 = RtcHttpServer
ModuleFileName屬性是大小寫敏感的,所以記得很清楚,你在這里干什么用的,你將不得不使用完全相同的ModuleFileName在RtcClientModule組件的客戶端。您將為每個要實現的功能使用一個RtcFunction組件。
所述RtcServerModule組件接受該請求,并使用TRtcFunctionGroup組件來執行接收的功能并且準備的結果。如果接收到的對象內部有函數調用,則將執行這些函數,并且生成的對象將僅包含數據。結果對象將被發送回發出請求的客戶端。如果發生異常,執行將被中止,發送回客戶端的對象將成為異常消息。
現在,從RTC服務器選項卡上,在窗體上放置一個RtcFunction:
設置FunctionGroup = RtcFunctionGroup
設置FunctionName = Hello
這個RtcFunction是我們的遠程功能。要使用它,我們需要定義一個函數名稱,將其鏈接到一個功能組并定義其OnExecute事件。
如果發生異常(您也可以在OnExecute事件處理程序中引發),則發出請求的客戶端將因此獲得異常消息。
您可以在一個請求中組合多個函數調用,或者將函數調用作為參數傳遞給其他函數調用。這對您實現的功能沒有影響,因為在執行所有函數調用(客戶端可能已將其定義為參數)之后,您的函數將始終接收純數據。
而在串行功能的情況下調用(稱為一個請求不止一個功能),如果一次調用將異常結束了,對于結果該電話將被rtc_Exception(用適當的eror消息),而任何先前的函數返回的結果并且請求的執行被中止。
編寫我們的RtcFunction的OnExecute事件
procedure TForm1.HelloExecute(Sender: TRtcConnection; Param: TRtcFunctionInfo; Result: TRtcValue); begin Result.asString := 'Hello, ' + Param.asString['name'] end;
保存,編譯并運行我們的項目,以檢查一切是否正常。
保存該項目,將其命名為任意名稱。記住這是您的Server,因此使其有意義。保存項目后,編譯并運行它以檢查此處是否一切正常。關閉它以創建您的客戶端應用程序。
下一節我們將會接著介紹本課程的第二節-客戶端,如果您有任何的建議和疑惑都可以在評論區留言,也希望感興趣的朋友可以持續關注本教程。
如果您對想要購買正版授權RealThinClient SDK Pro,可以聯系咨詢相關問題。
關注慧聚IT微信公眾號 ???,了解產品的最新動態及最新資訊。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: