天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

JAVA與.NET的相互調(diào)用——TCP/IP相互調(diào)用基本架構(gòu)

  TCP/IP套接字的概念

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

  TCP/IP套接字通訊的開發(fā)

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

  信息傳送方式

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

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

  2. 使用XML的信息傳送方式,這是最常見,使用最廣的信息傳遞方式。在絕大多數(shù)的開發(fā)平臺都會支持XML,所以XML在Web網(wǎng)絡(luò)傳訊過程中最為常見。但XML最大的一個(gè)缺點(diǎn)就是過于堪輿,耗費(fèi)大量的傳輸流量。

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

  服務(wù)器端開發(fā)

  • 通訊契約

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

<Contracts>
<Contract name="GetPersonByAge"> //name為契約名,服務(wù)器與客戶端必須同時(shí)遵守此契約
<Input>
<Description>獲取Age等于此值的People對象集</Description> //說明此契約內(nèi)容
</Input>
<Output>
<Package>Manager</Package> //接收到GetPersonByAge請求時(shí)所調(diào)用的包名稱
<Class>PersonManager</Class> //接收到GetPersonByAge請求時(shí)所調(diào)用的類名稱
<Method>GetListByAge</Method> //接收到GetPersonByAge請求時(shí)所調(diào)用的處理方法名稱
</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技術(shù)JAVA與.NET的相互調(diào)用——TCP/IP相互調(diào)用基本架構(gòu),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 永久adc视频| xxnx日本| 成人女人A级毛片免费软件 成人免费在线视频 | 蜜臀色欲AV无人A片一区 | 久九九精品免费视频 | 99爱在线观看精品视频 | 天堂草原天黑黑 | 亚洲成年人免费网站 | 亚洲爆乳无码精品AAA片蜜桃 | 国产超碰AV人人做人人爽 | 成人人猿泰山 | 久久亚洲成a人片 | 精品第一国产综合精品蜜芽 | 精品在线观看一区 | 校花在公车上被内射好舒 | 日韩欧美 亚洲视频 | 国产人成无码视频在线观看 | 国产精品免费一区二区区 | 日韩内射美女人妻一区二区三区 | a在线观看免费视频 | 日本一卡二卡三卡四卡无卡免费播放 | 国产成人永久免费视频 | 善良的小峓子2在钱中文版女主角 | 欧美亚洲精品真实在线 | 99re6久久在热线视频 | 恋夜影院支持安卓视频美女 | 桃色窝| 最近中文字幕高清中文字幕MV | 偷拍 拍自 欧美色区 | 中文乱码35页在线观看 | 亚洲 天堂 欧美 日韩 国产 | 91亚洲 欧美 国产 制服 动漫 | 处初女处夜情视频在线播放 | www色视频在线观看 WWW色视频片内射 | 三级中国免费的 | 无人区日本电影在线观看 | 国产精品一区二区四区 | 久久99精品久久久久久园产越南 | 色戒2小时38分在线观看 | 外国xxxx| 99爱在线精品视频网站 |