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

        ?

        基于Java網(wǎng)絡編程中組播技術的應用與研究

        2018-06-27 02:38:48舒小松
        無線互聯(lián)科技 2018年5期

        舒小松

        摘 要:Java網(wǎng)絡編程技術是Java程序設計中重要的一個環(huán)節(jié)。Java程序設計中提供了很強大的跨平臺網(wǎng)絡庫的語言。組播技術在Java網(wǎng)絡編程中的應用很廣泛,它兼容單播和廣播的特點。當采用組播方式傳送數(shù)據(jù)包時,發(fā)送方只需要發(fā)送一份相同的數(shù)據(jù)包,通過路由器尋找組播組的地址,然后將數(shù)據(jù)發(fā)送到這個組的每一個主機中。它可以大大提高數(shù)據(jù)傳送效率,減少了核心網(wǎng)絡出現(xiàn)網(wǎng)絡擁塞的可能性。文章通過一個詳細的案例介紹了Java網(wǎng)絡編程中組播技術在Java平臺中的應用,并進行了相關的分析與研究。

        關鍵詞:Java;組播;套接字;網(wǎng)絡編程

        Java網(wǎng)絡編程技術是Java程序設計中重要的一個環(huán)節(jié)。Java程序設計中提供了很強大的跨平臺網(wǎng)絡庫的語言。Java網(wǎng)絡編程中組播技術應用很廣泛,它是IP網(wǎng)絡數(shù)據(jù)傳輸3種方式之一,組播解決了單播和廣播方式效率低的問題。目前IPv4組播地址的范圍為224.0.0.0到239.255.255.255之間。

        1 組播Socket介紹

        在Java中,要使用Java.net中的MulticastSocket類來組播數(shù)據(jù)[1]。具體的步驟如下:首先,創(chuàng)建一個MulticastSocket。其次,用MulticastSocket的ijoinGroup()方法加入到一個組播組。再次,創(chuàng)建一個DatagramPacket,用字節(jié)數(shù)組作為數(shù)據(jù)緩沖區(qū),并放入循環(huán)體繼承DatagramPacket類的receive()方法,不需要接收數(shù)據(jù)時調(diào)用該Socket的leaveGroup()方法離開組播組,然后用繼承DatagramPacket類的close()方法關閉該Socket。注意:如果向組播地址發(fā)送數(shù)據(jù)可以不需要加入組播組,可以創(chuàng)建一個新的DatagramPacket,在其中填充數(shù)據(jù)和組播組的地址,并傳輸send()方法即可。

        2 Java組播Socket網(wǎng)絡編程的應用與研究

        2.1 前期的基本操作

        安裝好JDK以及Eclipse軟件。進入Eclipse,編寫相關Java源程序。

        2.2 創(chuàng)建接收端類MulticastReceive

        2.2.1 創(chuàng)建組播地址和端口

        (1)需要創(chuàng)建一個組播地址。

        InetAddress group - InetAddress.getByName(”228.0.0.1”);

        (2)需要創(chuàng)建一個端口。

        int port= 8000;

        上述代碼中,組播地址為228.0.0.1,端口為8000。

        2.2.2 創(chuàng)建組播套接字并加入到組播組

        (1)創(chuàng)建一個組播套接字。

        MulticastSocket msr -new MulticastSocket(port);

        (2)加入到一個組播組。

        msrjoinGroup(group);

        一旦創(chuàng)建了MulticastSocket就可以完成加入組播組、向組中任何成員發(fā)送數(shù)據(jù)、接受組中任何成員的數(shù)據(jù)、離開該組播組等4種操作。

        2.2.3 創(chuàng)建一個指定緩沖區(qū)大小組播數(shù)據(jù)包

        byte[] buffer= new byte[8192];

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

        2.2.4 接受組播數(shù)據(jù)包

        msr.receive(dp);

        2.2.5 解碼組播數(shù)據(jù)包提取信息

        String s=new String(dp.getData(),O,dp.getLength(》;

        接收端代碼如圖1所示。

        2.3 創(chuàng)建發(fā)送端類MulticastSend

        2.3.1 創(chuàng)建組播地址和端口

        (1)需要創(chuàng)建一個組播地址。

        InetAddress group = InetAddress.getByName(”228.0.0.1”);

        (2)需要創(chuàng)建一個端口。

        int port= 8000;

        需要注意的是發(fā)送端的組播IP地址和端口需要和接收端的IP地址及端口一致。

        2.3.2 創(chuàng)建組播套接字并加入到組播組

        MulticastSocket mss - new MulticastSocket(port);

        mssjoinGroup(group);

        2.3.3 建立一個指定緩沖區(qū)大小及組播地址和端口組播數(shù)據(jù)包

        byte口buffer= message.getBytes();

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

        mss.send(dp);

        其中send()方法的作用是用于發(fā)送DatagramSocket對應的數(shù)據(jù)包。注意的是如果不需要接收數(shù)據(jù)時調(diào)用該Socket的leaveGroup()方法離開組播組,并關閉Socket。發(fā)送端代碼如圖2所示。

        3 結(jié)語

        通過Java Socket網(wǎng)絡編程中Java組播Socket的應用研究,使我們對Java Socket網(wǎng)絡編程有了新的認識,并得出結(jié)論。編寫一個Java組播應用程序需要完成如下過程[2]。

        (1)創(chuàng)建一個MulticastSocket組播套接字對象,為發(fā)送端和接收端使用。

        (2)創(chuàng)建一個DatagramPacket組播數(shù)據(jù)包對象,需要指定其緩沖區(qū)大小及組播地址和端口。注意發(fā)送端和接收端中組播地址和端口一致。

        (3)使用組播套接字joinGroup(),將其加入到同一個組播。

        (4)將組播數(shù)據(jù)包對象放入其中,組播套接字的send()方法中或者組播套接字的receive()方法中發(fā)送組播數(shù)據(jù)包或者接收組播數(shù)據(jù)包。

        (5)解碼組播數(shù)據(jù)包提取信息,并依據(jù)得到的信息作出響應。

        (6)在while循環(huán)中重復步驟4和5。

        (7)使用組播套接字的leaveGroup()方法,離開組播組并關閉組播套接字。

        運行結(jié)果如圖3所示,接收端準備好以后,發(fā)送端就一直會發(fā)送數(shù)據(jù),實驗成功。

        [參考文獻]

        [1]哈諾德.Java網(wǎng)絡編程[M]李帥,荊濤,譯北京:中國電力出版社,2014.

        [2]馬曉敏,肖明,姜遠明,等Java網(wǎng)絡編程原理與JSP Web開發(fā)核心技術[M].北京:中國鐵道出版社,2010.

        性做久久久久久久| 成年人干逼视频水好多| 草逼视频免费观看网站| 日本一区二区三区四区高清不卡 | 国产丰满乱子伦无码专| 两个人看的www中文在线观看| 国产欧美日产久久| 无码精品一区二区三区超碰| 99国产精品无码专区| 亲少妇摸少妇和少妇啪啪| 人妻中文字幕一区二区三区| 精品亚洲av乱码一区二区三区| 新中文字幕一区二区三区| 免费又黄又爽又色的视频| 精品亚洲成a人片在线观看| 国产女主播喷水视频在线观看| 国产偷窥熟女精品视频| 综合91在线精品| 中文字幕一区二区人妻痴汉电车| 视频在线播放观看免费| 国产传媒精品成人自拍| 夜夜爽夜夜叫夜夜高潮| 欧美亚洲国产一区二区三区| 久久久精品人妻一区二区三区蜜桃| 久久天天躁夜夜躁狠狠躁2022| 国产日韩精品一区二区在线观看播放| 日本女优一区二区在线免费观看| 青青青免费在线视频亚洲视频 | 日韩女优一区二区在线观看| 99久久99久久久精品蜜桃| 国产精品国产三级国产av品爱网 | 伊人网综合在线视频| 九九在线精品视频xxx| 亚洲精品中文字幕乱码人妻| 91精品国产色综合久久不| 日韩乱码中文字幕在线| 亚洲日韩av无码一区二区三区人| 1区2区3区高清视频| 91在线在线啪永久地址| 青青青国产免A在线观看| 成人性生交大片免费看激情玛丽莎|