一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

JAVA與.NET的相互調用——TCP/IP相互調用基本架構

  TCP/IP套接字的概念

  TCP/IP(傳輸控制協議/網際協議)是網絡互連的通信協議,通過它可以實現各種異構網絡或異種機之間的互聯通信。TCP/IP是Transmission Control Protocol/InterNET Protocol的簡寫,中文譯名為傳輸控制協議/因特網互聯協議,又叫網絡通訊協議,這個協議是InterNET最基本的協議、InterNET國際互聯網絡的基礎,簡單地說,就是由網絡層的IP協議和傳輸層的TCP協議組成的。TCP/IP 定義了電子設備(比如計算機)如何連入因特網,以及數據如何在它們之間傳輸的標準。TCP/IP是一個四層的分層體系結構。高層為傳輸控制協議,它負責聚集信息或把文件拆分成更小的包。低層是網際協議,它處理每個包的地址部分,使這些包正確的到達目的地。 TCP/IP已成為當今計算機網絡最成熟、應用最廣的互聯協議。InterNET采用的就是 TCP/IP協議,網絡上各種各樣的計算機上只要安裝了TCP/IP協議,它們之間就能相互通信。

  TCP/IP套接字通訊的開發

  在眾多的開發語言中,絕大部分的開發語言都支持TCP/IP協議通訊,開發過程也十分相像,先設置好Socket,然后由客戶端發送請求信息,服務器連接客戶端接收到請求后再返還信息。而在.NET系統當中則稍有不同,系統把Socket對象包裝在TcpClient對象內,對Socket對象的生命周期進行管理。在開發過程當中,服務器與客戶端的開發語言有所不同的情況經常發生,服務器是在JDK1.6的環境下進行開發的,客戶卻要求使用.NET開發客戶端,這往往會令開發人員感到困惑!下面在下使用Java服務器,.NET為客戶端為例子,為大家介紹一下如何使用TCP/IP協議進行Java  .NET之間的相互調用。像TCP/IP實現聊天室這樣的例子很多,開發起來也比較簡單,因為通訊雙方都是使用String來傳送信息。而在真正建立ERP、OA、CRM等系統的時候,通訊雙方都必須先建立一套統一的通訊契約,才能實現TCP/IP通訊,下面將為大家介紹一個比較典型的企業信息通訊實例。

  信息傳送方式

  因為.NETJava各有不同的特性,雙方不可能直接通過的序列化對象來傳輸信息,常用的信息交換方式有以下三種:

  1. 最笨拙也是最復雜的一種傳息方式,就是直接使用“頭文件說明+字段屬性”的方式。 這是一個既原始又麻煩的通訊方式,因為每個契約都要以二進制的方式發送一個請求,就算是同一類契約,隨著參數的不同,每個請求的長度也會發生改變。這樣的傳息方式雖然是麻煩,但在不同開發語言相互調用的時候卻經常會看到,這可能是因為開發人員對兩種開發語言未能完全熟悉,所以倒置使用這最原始最簡單的開發方式。

  2. 使用XML的信息傳送方式,這是最常見,使用最廣的信息傳遞方式。在絕大多數的開發平臺都會支持XML,所以XML在Web網絡傳訊過程中最為常見。但XML最大的一個缺點就是過于堪輿,耗費大量的傳輸流量。

  3. 對于XML的缺點,JSON應運而生而且發展迅速,JSON本是源于Javascript的,多數只用于B/S的頁面開發,但隨著技術的發展和多個開發語言的支持,現今到處都可以看JSON的身影。因為JSON既提供一套跨平臺的通訊方式,也免去XML復雜特性,受到各類型開發人員的歡迎。

  服務器端開發

  • 通訊契約

  首先建立一套服務器與客戶端同時接受通訊契約, Contract 的name特性是契約的名稱,服務器會通過此名稱在Contracts.xml文件中找到該契約,然后根據output的package屬性,class屬性,method屬性找到該契約的包名稱,類名,調用的方法等屬性。

<Contracts>
<Contract name="GetPersonByAge"> //name為契約名,服務器與客戶端必須同時遵守此契約
<Input>
<Description>獲取Age等于此值的People對象集</Description> //說明此契約內容
</Input>
<Output>
<Package>Manager</Package> //接收到GetPersonByAge請求時所調用的包名稱
<Class>PersonManager</Class> //接收到GetPersonByAge請求時所調用的類名稱
<Method>GetListByAge</Method> //接收到GetPersonByAge請求時所調用的處理方法名稱
</Output>
</Contract>
<Contract name="GetPersonByID">
<Input>
<Description>獲取ID等于此值的People對象</Description>
</Input>
<Output>
<Package >Manager</Package>
<Class>PersonManager</Class>
<Method>GetListByID</Method>
</Output>
</Contract>
</Contracts>

NET技術JAVA與.NET的相互調用——TCP/IP相互調用基本架構,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 大胆gogo999亚洲肉体艺术 | 亚洲香蕉久久一区二区三区四区 | 国产精品自在自线免费观看 | 91成人免费福利网站在线 | 久久综合偷偷噜噜噜色 | 国产一二三在线观看 | 亚洲综合色一区二区三区另类 | 国内成人精品亚洲日本语音 | 隔壁搬来黑人巨大中文字幕 | 久久国产网站 | 婷婷六 | 91视频啪 | 色综合日韩 | 深夜福利一区二区 | 一级做a爰片性色毛片黄书 一级做a爰片性色毛片男 | 亚洲福利在线播放 | 美女张腿男人桶免费视频 | 在线观看午夜视频 | 四虎影在线永久免费观看 | 激情视频网址 | 一区二区三区网站在线免费线观看 | 久草免费在线色站 | 久久久精品国产四虎影视 | www天天操| 五月婷婷中文字幕 | 看全色黄大色黄大片色黄看的 | 国产精欧美一区二区三区 | 国内精品美女久久久久 | 国产成人精品免费视频大全五级 | 亚洲国产高清精品线久久 | 一区二区在线免费观看 | 亚洲伊人色一综合网 | 欧美日韩国产亚洲一区二区三区 | se就是色94欧美setu | 亚洲影院手机版777点击进入影院 | 手机在线日韩高清理论片 | 一级毛片无遮挡免费全部 | 高清免费久久影院 | 久久精品国产精品青草 | 婷婷三级 | 狠狠干狠狠干狠狠干 |