亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Java網(wǎng)絡(luò)編程中組播技術(shù)的應(yīng)用研究

        2019-06-26 07:04:04趙文清
        無(wú)線互聯(lián)科技 2019年7期

        摘? ?要:Java網(wǎng)絡(luò)編程技術(shù)是一個(gè)重要的Java程序設(shè)計(jì)環(huán)節(jié),在組播技術(shù)中Java網(wǎng)絡(luò)編程有廣泛的應(yīng)用。組播技術(shù)屬于3種IP網(wǎng)絡(luò)數(shù)據(jù)傳輸方式之一,較單播與廣播方式的效果更高,本文基于Java網(wǎng)絡(luò)編程與Java平臺(tái)設(shè)計(jì)了一個(gè)組播程序,并進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)成功,在組播技術(shù)中運(yùn)用Java平臺(tái)可行性高,效率更佳。

        關(guān)鍵詞:Java網(wǎng)絡(luò)編程;組播技術(shù);套接字

        Java網(wǎng)絡(luò)編程技術(shù)是一個(gè)重要的Java程序設(shè)計(jì)環(huán)節(jié),具有強(qiáng)大的跨平臺(tái)網(wǎng)絡(luò)庫(kù)的語(yǔ)言優(yōu)勢(shì),在組播技術(shù)中Java網(wǎng)絡(luò)編程有廣泛的應(yīng)用。組播技術(shù)屬于3種IP網(wǎng)絡(luò)數(shù)據(jù)傳輸方式之一,較單播與廣播方式的效果更高,目前主要在224.0.0.0到239.255.255.255的IPv4組播地址范圍內(nèi)進(jìn)行組播。

        1? ? Java網(wǎng)絡(luò)編程的組播結(jié)構(gòu)

        網(wǎng)絡(luò)數(shù)據(jù)的傳輸分為3種常見(jiàn)類型,即單播、組播和廣播,其中,組播具有兼容特性,是對(duì)單播和廣播的兼容,能實(shí)現(xiàn)數(shù)據(jù)的組內(nèi)傳遞和輸送,并且所有接受者都能收到,在組內(nèi)的發(fā)送者和每一個(gè)接受者之間,能實(shí)現(xiàn)多點(diǎn)網(wǎng)絡(luò)傳輸,數(shù)據(jù)的覆蓋面更加寬廣。組播是一種中間技術(shù),數(shù)據(jù)傳遞的方式主要是由發(fā)送方傳輸給另一方,將相同的數(shù)據(jù)包通過(guò)路由器動(dòng)態(tài)決定數(shù)據(jù)的路由,尋找組播的地址。必要時(shí),還能獲取賦值數(shù)據(jù),將通過(guò)組播中間技術(shù),其傳輸給每一個(gè)主機(jī),能極大地提升數(shù)據(jù)傳遞的速度,減少骨干網(wǎng)絡(luò)的擁塞情況,能更加適用于現(xiàn)代快速數(shù)據(jù)傳播的工作模式中,滿足實(shí)際需求。整個(gè)結(jié)構(gòu)系統(tǒng)的數(shù)據(jù)傳遞從接收端開始,使用Java Socket的組播類進(jìn)行的一個(gè)組播案例。發(fā)送端將數(shù)據(jù)發(fā)送到主機(jī)或者每一個(gè)用戶對(duì)象,通過(guò)多個(gè)接收端,開啟發(fā)送端,實(shí)現(xiàn)組播間數(shù)據(jù)傳遞。

        2? ? 組播Socket技術(shù)

        Java網(wǎng)絡(luò)編程主要是通過(guò)Java.net中的MulticastSocket類組建一個(gè)Socket,作為組播數(shù)據(jù)。先建立一個(gè)MulticastSocket。通過(guò)其中的joinGroup()與一個(gè)組播組建立連接,并參與其中。建立一個(gè)DatagramPacket,通過(guò)字節(jié)數(shù)組構(gòu)建一個(gè)數(shù)據(jù)緩沖區(qū)域,放置一個(gè)循環(huán)體,以繼承DatagramPacket類的receive()方法,無(wú)需數(shù)據(jù)接收時(shí),通過(guò)調(diào)用這一Socket的leaveGroup()法與組播組斷開連接,利用繼承DatagramPacket類的receive()方法將該Socket關(guān)閉。需要向組播地址傳輸數(shù)據(jù)時(shí),則無(wú)需加入組播組中,直接新建一個(gè)DatagramPacket,并將數(shù)據(jù)與組播組地址填充,利用send()法直接傳輸數(shù)據(jù)即可。

        3? ? 基于Java網(wǎng)絡(luò)編程中組播技術(shù)的應(yīng)用

        3.1? 前期準(zhǔn)備工作

        首先安裝JDK軟件與Eclipse軟件,并在Eclipse軟件中,將相關(guān)Java源程序編寫工作完成。

        3.2? 創(chuàng)建MulticastReceive作為接收端類

        (1)創(chuàng)建一個(gè)組播地址及端口。組播地址創(chuàng)建方法為:InetAddress group=InetAddress.getByName("228.0.0.1")。端口創(chuàng)建方法為:int port=8000;其中,228.0.0.1指組播地址,8000則是端口。

        (2)創(chuàng)建組播套接字符并加入到一個(gè)組播組中。組播套接字符創(chuàng)建方法為:MulticastSocket msr=new MulticastSocket(port)。組播組加入方法為:msr.joinGroup(group)。MulticastSocket創(chuàng)建后,就能夠順利進(jìn)行后續(xù)的組播組加入、向組中成員發(fā)送數(shù)據(jù)或接收來(lái)自于組中成員的數(shù)據(jù)以及離開組播組等各項(xiàng)與組播組相關(guān)的操作。

        (3)建立一個(gè)數(shù)據(jù)緩沖區(qū)。需要?jiǎng)?chuàng)建一個(gè)指定緩沖區(qū)大小及組播地址和端口的 DatagramPacket 組播數(shù)據(jù)包對(duì)象,創(chuàng)建方法為:

        byte[]buffer=new byte[8192];

        DatagramPacket dp=new DatagramPacket(buffer,buffer.length)

        (4)接收對(duì)應(yīng)的組播數(shù)據(jù)包。接收方法為:msr.receive(dp);

        (5)解碼該組播數(shù)據(jù)包并提取所需信息。方法為:

        String s=nwe Sring(dp.getData(),0,dp.getLength());

        接收端代碼可設(shè)計(jì)如圖1所示。

        3.3? 創(chuàng)建MulticastSend作為發(fā)送端類

        (1)建立一個(gè)組播地址與端口。組播地址創(chuàng)建方法為:InetAddress group=InetAddress.getByName(''228.0.0.1'');端口創(chuàng)建方法為:int port=8000;發(fā)送端組播地址和端口要與接收端地址和端口保持一致。

        (2)建立一組組播套接字符并加入到一個(gè)組播組中。組播套接字符創(chuàng)建方法為:MulticastSocket mss=new MulticastSocket(port);組播組加入方法為:mss.joinGroup(group);

        (3)建立一個(gè)數(shù)據(jù)緩沖區(qū),并匹配一個(gè)組播地址與端口組播數(shù)據(jù)包。創(chuàng)建方法為:

        byte[]buffer=message.getBytes();

        DatagramPacket dp=new DatagramPacket(buffer,buffer.length,group,port);

        mss.sen(dp);

        send()的功能在于將DatagramSocket對(duì)應(yīng)的數(shù)據(jù)包發(fā)送出去。無(wú)需接收數(shù)據(jù)時(shí),直接調(diào)用該Socket的leaveGroup()法與該組播組脫離連接,同時(shí)關(guān)閉這一Socket。發(fā)送端代碼如圖2所示。

        發(fā)送端代碼4? ? 實(shí)驗(yàn)結(jié)果

        對(duì)以上應(yīng)用研究分析得出,編寫Java組播技術(shù)應(yīng)用程序,需要包括如下基礎(chǔ)步驟。

        (1)建立一個(gè)MulticastSocker組播套接字符對(duì)象,確保發(fā)送端與接收端有可供使用的數(shù)據(jù)。

        (2)建立一個(gè)DatagramPacket組播數(shù)據(jù)包對(duì)象,并指定其緩沖區(qū)大小、地址、端口,同時(shí),要保證發(fā)送端與接收端使用同樣的組播地址與端口。

        (3)通過(guò)組播套接字符joinGroup()加入到一個(gè)組播中。

        (4)在組播中加入組播數(shù)據(jù)包對(duì)象,并通過(guò)組播套接字符中的receive()與send()接收或發(fā)送組播數(shù)據(jù)包。

        (5)解碼并提取發(fā)送或接收到組播數(shù)據(jù)包信息,根據(jù)獲得的信息采取相應(yīng)的響應(yīng)動(dòng)作。

        (6)通過(guò)while循環(huán)對(duì)第四與第五個(gè)步驟進(jìn)行重復(fù)。

        (7)組播套接字符中的leaveGroup()可用于離開、關(guān)閉組播套接字。

        通過(guò)以上步驟及代碼建立一個(gè)組播后,運(yùn)行結(jié)果如圖3所示,準(zhǔn)備好接收端后,能夠發(fā)現(xiàn)發(fā)送端會(huì)一直保持?jǐn)?shù)據(jù)發(fā)送動(dòng)作,實(shí)驗(yàn)成功,證明方法可行。

        5? ? 結(jié)語(yǔ)

        隨著現(xiàn)代互聯(lián)網(wǎng)技術(shù)水平不斷提升,組播技術(shù)在當(dāng)今人類社會(huì)生活和工作中的應(yīng)用非常廣泛,尤其是視頻直播、大型游戲等,且人們對(duì)組播數(shù)據(jù)傳遞也不斷在提出新要求。因此,不斷提升組播數(shù)據(jù)傳播的效率,是當(dāng)前一個(gè)重要的研究問(wèn)題,通過(guò)Java網(wǎng)絡(luò)編程,對(duì)其結(jié)構(gòu)進(jìn)行優(yōu)化,最終能提升組播路由算法的傳播效率,不斷滿足各個(gè)企業(yè)的發(fā)展需求,并且這種組播技術(shù)的應(yīng)用推廣,最終呈現(xiàn)一定的特點(diǎn),成為目前非常理想的組播算法的主流方法。作者簡(jiǎn)介:趙文清(1996— ),女,河南商丘人,本科生;研究方向:網(wǎng)絡(luò)工程,網(wǎng)絡(luò)編輯。

        台湾佬娱乐中文22vvvv| 国产成人精品日本亚洲i8| 四虎成人精品在永久免费| 日本爽快片18禁免费看| 99热这里只有精品69| 日韩av在线不卡观看| 24小时在线免费av| 国产成人精品午夜二三区波多野| 免费人成再在线观看网站| 亚洲AV无码乱码精品国产草莓| 日本一区二区三区精品免费| 国产果冻豆传媒麻婆精东| 国产精品无码不卡一区二区三区| 精品一二区| 免费人成黄页网站在线一区二区| 国产欧美精品一区二区三区四区| 236宅宅理论片免费| 欧美亚洲尤物久久综合精品| 蜜臀av在线一区二区尤物| 无码熟妇人妻av影音先锋| 日日摸夜夜添狠狠添欧美| 一区视频在线观看免费播放.| 精品人妻69一区二区三区蜜桃| 国产啪亚洲国产精品无码| 国产3p视频| 久久伊人中文字幕有码久久国产 | 内地老熟女老少配视频| 欧美日韩亚洲成人| 在线免费观看亚洲毛片| 国产网站一区二区三区| 亚洲中文字幕无码爆乳| 青青草综合在线观看视频| 亚洲av综合日韩精品久久| 亚洲av无码成人精品区狼人影院| 日本黄页网站免费大全| 色婷婷激情在线一区二区三区| 一区二区视频在线观看地址| 精品国产午夜理论片不卡| 精品国产品欧美日产在线 | 国产亚洲成人av一区| 无码人妻丰满熟妇区五十路百度|