国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C#+ICE+TCP通信=數據傳輸

2019-11-17 02:58:35
字體:
來源:轉載
供稿:網友

C#+ICE+TCP通信=數據傳輸

最近項目中運用到了ICE文件傳輸。第一課(ICE的介紹)

一、 介紹ICE

ICE(Internet Communications Engine)是Zeroc提供的一款高性能的中間件。使用ICE能使得(C#、php、c++、java或python)與java,c++,.net,python等進行交互。基于ICE可以實現電信級的解決方案。ICE ,是一種流行的面向對象的中間件,用來作網絡通訊引擎。

二、ICE 的好處

  1. 面向對象的語義,所有的操作調用都使用遲后綁定。
  2. 支持同步和異步的消息傳遞,提供了同步和異步的操作調用和分派,提供了發布——訂閱消息傳遞機制。
  3. 與硬件架構無關,客戶端及服務器與底層的硬件架構屏蔽開來。對于應用代碼而言,像字節序和填充這樣的問題都隱藏了起來。
  4. 與上層的編程語言無關,客戶端和服務器可以分別部署,所用語言也可以不同,支持C#、C++、Java語言,客戶端支持PHP語言。
  5. 與采用的操作系統無關,ICE完全是可移植的,同樣的源碼能夠在Windows、linux、MacOS和UNIX上編譯和運行。
  6. 完全是線程化的,其API是線程安全的。
  7. 采用TCP、ip 和UDP作為傳輸協議,客戶端和服務器代碼都不需要了解底層的傳輸機制。
  8. 服務器的位置是對用戶透明的,ICE例程負責定位對象,并管理底層的傳輸機制,比如打開和關閉連接。客戶與服務器之間的交互顯得像是無連接的。服務器可以遷移到不同的物理地址,而不會使客戶持有的代理失效,而客戶完全不知道對象實現是怎樣分布在多個服務器進程上的。

三、為什么要使用中間件?

設想一個這樣的場景:對于一個大型網站來說,往往有很多個web服務器,每個web服務器都存在很多對于數據庫的操作。如果直接在程序上直接操作數據庫,那么勢必要在每臺web

服務器都配置數據庫的用戶名,密碼等信息,這是極度不安全的。并且如果我們要統一對數據庫的操作進行管理和修改等,那么久要去每個web服務器上修改。因此,這時候中間件就產

了。

它是基于SOA(面向服務架構)的思想,將對數據庫的操作統一成一個服務,放置于一臺服務機上,每個web服務器要對數據庫進行操作,就可以直接訪問這個提供中間件服務的服務

器。還有一點,考慮到性能問題,這里的提供服務的機子我們不使用html和xml傳輸數據,一般使用TCP,UDP這層的通信。因此ICE就是現在非常流行的網站開發中間件之一。

四、ICE通信結構圖

ICE有分為提供服務的一方Server和尋求服務的一方Client,兩臺機子上都需要安裝ICE組件,他們的通信結構如下:

Client端應該事先知道Server端能提供的服務是什么,有什么格式?這就是圖中的PRoxy Code,在Proxy Code中定義好了類和接口。Server端中接口定義的就是Skeleton,具體實現接

口的是Server application,Server Application可以是C++,java,C#等寫的,但是ICE不提供PHP寫Server端。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 本溪市| 乐平市| 咸丰县| 淅川县| 灵山县| 正定县| 舒城县| 花垣县| 栾城县| 定边县| 长乐市| 梨树县| 阜康市| 曲沃县| 崇信县| 香港 | 杭锦旗| 沙坪坝区| 汤阴县| 曲麻莱县| 陆川县| 泗水县| 侯马市| 南开区| 雅安市| 察隅县| 东城区| 三明市| 岑巩县| 秀山| 安顺市| 富顺县| 南华县| 上犹县| 驻马店市| 自治县| 石家庄市| 连江县| 金乡县| 宁阳县| 武强县|