日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RO38 –比较RemObjects SDK 通道

發布時間:2023/12/10 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RO38 –比较RemObjects SDK 通道 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文匯總了RemObjects SDK提供的通道:
  • 最通用的通道
    • 1) HTTP 通道:使用www超文本傳輸協議的靈活,網絡無關的通信.
    • 2) Super TCP 通道: 在客戶端服務端靈活通用的雙向傳輸.
    • 3) Super HTTP 通道- new in 'Vinci'
  • 常用的通道Frequently used channels
    • 4) 以前的TCP通道: 通過TCP實現輕量級通信.
    • 5) Email 通道(Delphi): 與存在的Email組織異步通訊.
    • 6) Local 通道:直接應用程序內部通信.
    • 7) DLL 通道(Delphi): DLL中執行服務端邏輯,并通過標準的RemObjects SDK接口調用機制調用.
  • 很少使用的通道
    • 8) UDP and Broadcast 通道(Delphi): 輕量數據包通信.
    • 9) Named Pipe 通道:不使用TCP/IP的局域網內部的通信.
    • 10) WinMessage 通信(Delphi): 本機中的內部過程通信.
1) HTTP 通道 最常用的通道可能是基于超文本傳輸協議的. HTTP 協議, 組成www的基礎,Internet中最常用的協議之一,RemObjects SDK中使用可以提供各種好處:
  • 由于HTTP的廣泛使用,這種協議可以在輕松用于受限的網絡環境,如有防火墻或使用代理將客戶端與Internet隔離. 如果終端用戶可以通過瀏覽器訪問網絡,基于HTTP通道的客戶端也非常可能運行.
  • 服務端地址使用標準的URL標識,這樣用戶可以輕松明確的處理地址.
  • 如果希望,HTTP通道可以提供人們能直接讀取的服務端信息和開放的服務信息,并可以通過web瀏覽器查看.
總之,HTTP是當你位于擴展站點而無法控制網絡時最好的協議,可以使你的客戶端輕松的在各種類型的網絡中工作. 兩種版本(Delphi .NET)中都提供了HTTP客戶端和服務端通道的幾種實現,至于那種最好這取決于用戶的偏愛和體會.所有的HTTP客戶端都可以連接到HTTP服務端,反之亦然. 值得一說的是基于WinINET的客戶端通道(Delphi .NET)可以使用IE瀏覽器的設置,包括使用代理和自動撥號規則,然而IndyInternet數據包通道將使用實現于原始TCP之上的HTTP. 對于Delphi,BPDX服務通道提供了最好的性能和靈活性,但是這比輕量的Indy服務通道需要更多的資源. 客戶端通道組件:
  • IpHttpClientChannel (.NET)
  • WinInetHttpClientChannel (.NET)
  • TROIndyHttpChannel (Delphi)
  • TROWinInetHTTPChannel (Delphi)
  • TROSynapseHTTPChannel (Delphi)
服務端通道組件:
  • IpHttpServerChannel (.NET)
  • HttpSysServerChannel (.NET)- new in 'Vinci' (see note)
  • WebProcessor (ASP.NET)
  • TROIndyHTTPServer (Delphi)
  • TROBPDXHttpServer (Delphi)
  • TROWebBrokerServer (Delphi)
注意: HttpSysServerChannel 使用從IIS共享的微軟HTTP內核,這樣允許standalone服務從IIS web服務中分派一個端口. 2) Super TCP 通道 Super TCP通道組件提供實用靈活的通信通道,使用永久連接實現真正的異步通訊和服務回調. 在原始的TCP連接之上改進的客戶自定義協議,這個通道允許使用傳統通道類型所沒有的高級特性:
  • 保持實時連接,通過靈活的PING/PONG系統發現斷開的連接(如由于網絡繁忙)并無縫修復.
  • 結合服務端和客戶端通信,可以使服務端向客戶端主動的發送事件或異步響應,而不用去輪詢,減少了網絡流量提高了回調的效率.
  • 允許使用單通道同時發送多個請求.
這個通道廣泛的用于需要事件和服務回調的情形,而且有防火墻和代理服務時也不要求使用基于HTTP的通道. 客戶端通道組件:
  • SuperTcpClientChannel (.NET)
  • TROSuperTcpChannel (Delphi)
服務端通道組件:
  • SuperTcpServerChannel (.NET)
  • TROSuperTcpServer (Delphi)
3) Super HTTP 通道- new in 'Vinci' 這個通道如Super TCP通道一樣提供了雙向通信,但是它基于HTTP,從而可以穿透防火墻和精確的代理. 它比Super TCP通道的代價稍高一些,因為要在服務端使用兩條連接. 客戶端通道組件:
  • IpSuperHttpClientChannel (.NET)
  • WinInetSuperHttpClientChannel (.NET)
  • TROIndySuperHttpChannel (Delphi)
  • TROSynapseSuperHttpChannel (Delphi)
服務端通道組件:
  • IpSuperHttpServerChannel (.NET)
  • HttpSysSuperHttpServerChannel (.NET)
  • SuperHttpWebProcessor (ASP.NET)
  • TROIpSuperHttpServer (Delphi)
4) 過期的 TCP 通道 TCP,一種傳輸控制協議,是兩種基于底層的使用TCP/IP網絡堆棧的Internet通訊基本協議之一,在客戶端和服務端通過連接提供數據傳輸.然而TCP也為更復雜的傳輸協議(HTTP,POP3)提供支持,TCP通道使用原始的TCP提供輕量協議,在傳輸消息中沒有添加任何附加信息. 當網絡流量小并且沒有使用防火墻時TCP通道是最好的選擇.這時TCP通道可以提供方法調用的最好執行效率. Delphi,BPDX服務通道提供了最好的效率和高靈活行,但是要比輕量Indy服務通道需要更多的資源. 客戶端通道組件:
  • IpTcpClientChannel (.NET)
  • TROIndyTcpChannel (Delphi)
服務端通道組件:
  • IpTcpServerChannel (.NET)
  • TROIndyTcpServer (Delphi)
  • TROBPDXTcpServer (Delphi)
5) Email 通道 (Delphi) Email通道使用標準的Email和存在的POP3SMTP服務執行異步通訊,向服務端發送請求并接收響應. 客戶端通道指定Email地址,并使用這個地址向服務端發送處理請求.服務端從POP3信箱中接收到郵件,處理請求,最后也使用Email的形式向客戶端返回處理結果. 客戶端通道通過輪詢其POP3信箱接收響應. 這個通道適用于長時間執行(可能會超過單個客戶端Session的有效時間OutTime)的請求. 由于請求和響應在POP3信箱中是持續的,客戶端發送請求后退出,而接收響應可能要在幾小時或幾天以后.同樣,請求發送到服務端可能不會馬上執行-服務端啟動后將從其郵件箱中提取并處理郵件. 客戶端通道組件:
  • TROEmailChannel (Delphi)
服務端通道組件:
  • TROEmailServer (Delphi)
6) Local 通道 Local通道允許RemObjects SDK.NETDelphi應用程序中基于單機通訊; 使你可以輕松重用集成的客戶端和服務端應用程序,或建立單層應用程序稍后可以簡單的修改通道類型移為他用. 關于第一方面將應用程序邏輯分為客戶端和服務器然后又要在同一個執行文件中使用看起來可能沒什么用處,這個通道在如下兩種情形時很有幫助, 特別是當結合Data Abstract數據庫多層架構:
  • 在保留擴充性的前提下實現一個單層應用程序,在需要的時候可以很容易的升級為三層解決方案.
  • 將多層應用重用與單層環境-如出售單用戶版本的產品,提供一個桌面版的客戶機/服務器數據庫前端.
在這兩個案例或相似的情況下,Local通道可以簡單的將客戶端和服務端組合在一個應用程序中,但是仍然保留了邏輯上的多層次分離. 客戶端通道組件:
  • LocalClientChannel (.NET)
  • TROLocalChannel (Delphi)
服務端通道組件:
  • LocalServerChannel (.NET)
  • TROLocalServer (Delphi)
7) DLL 通道 (Delphi) DLL通道允許你在DLL內部執行服務邏輯,其使用標準的RemObjects SDK 調用機制. 通道自動為你的客戶端過程加載DLL,并像遠程服務一樣將服務端方法開放出來. 為什么要使用這個通道請查看上面的Local通道小節. 客戶端通道組件:
  • TRODLLChannel (Delphi)
服務端通道組件:
  • TROLocalServer (Delphi)
8) UDP Broadcast 通道 (Delphi) 除了TCP, UDP是另外一個Internet TCP/IP網絡組織的基本傳輸協議.TCP相比,UDP沒有基于連接傳輸數據的概念,而是在網絡中發送單獨的數據包-可尋址數據包. UDP也提供了沒有錯誤修正和保證的傳遞方式,所以通過UDP發送的數據包可能會并沒有達到目的地而丟失,或發生錯誤而簡單的放棄.同時UPD通過自動截取而不提供大數據包的傳遞.總之,UDPTCP相比更快更有效率. 你可能想在需要高頻率高效率傳遞小數據包事使用基于UDP的通道,而且不用去考慮網絡錯誤調整和包恢復(TCP提供的特性).這只能用于局域網的情形,網絡組織可靠并且發生丟包的情況非常少. Broadcast通道與UDP通道變化而來,允許你向本地網絡中所有可用的服務端使用UDP廣播發送請求. 這在通知或搜索可用服務端時非常有用. 這兩種通道可以用于異步模式;對于廣播的情形,你的服務端將調用ROSendNoResponse 防止任何響應形式發送(以便于大量的接收方可以取消消息通知),直到你的客戶端將準備好接收多個響應. 客戶端通道組件:
  • TROIndyUdpChannel (Delphi)
  • TROBroadcastChannel (Delphi)
服務端通道組件:
  • TROIndyUdpServer (Delphi)
  • TROBroadcastServer (Delphi)
9) Named Pipe 通道 這個通道使用Windows的命名管道特性在客戶端和服務端通訊.推薦使用命名管道在單機的不同進程直接通訊,尤其是在不同用戶環境下運行.這很有用,例如對服務的控制. 請訂閱平臺SDKMSDN文檔查看更多命名管道信息. 提示: 牢記一個要點: Windows設置了同時連接到一個命名管道的客戶端數量-Home版為5,Pro版為10. 如果要運行一個網絡服務TCP/IP是最好的選擇. 客戶端通道組件:
  • NamedPipeClientChannel (.NET) - new in 'Vinci'
  • TRONamedPipeChannel (Delphi)
服務端通道組件:
  • NamedPipeServerChannel (.NET) - new in 'Vinci'
  • TRONamedPipeServer (Delphi)
10) WinMessage 通道 (Delphi) 這個通道使用Windows消息在客戶端和服務端通訊. 這是在單機內部進程間通訊的一個簡單方式,Windows消息有一些限制-不能在Windows服務(Exe文件對應)中與服務(Service)通訊, 使用Windows消息(MSMQ)輪詢來實現客戶端和服務端通訊. 請訂閱平臺SDKMSDN文檔查看這個概念的更多信息. 客戶端通道組件:
  • TROWinMessageChannel (Delphi)
服務端通道組件:
  • TROWinMessageServer (Delphi)??
結論 本文比較了各種通道然后使用他們,如果你在使用時有什么問題請發送Email support@remobjects.com聯系.

轉載于:https://www.cnblogs.com/MaxWoods/archive/2012/08/21/2648379.html

總結

以上是生活随笔為你收集整理的RO38 –比较RemObjects SDK 通道的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。