最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Java中UDP的廣播形式(實(shí)例講解)

 更新時(shí)間:2017年12月15日 08:42:53   作者:anmofree  
下面小編就為大家分享一篇基于Java中UDP的廣播形式(實(shí)例講解),具有很好的參考價(jià)值,希望對大家有所幫助

UDP---用戶數(shù)據(jù)報(bào)協(xié)議,是一個(gè)簡單的面向數(shù)據(jù)報(bào)的運(yùn)輸層協(xié)議。UDP不提供可靠性,它只是把應(yīng)用程序傳給IP層的數(shù)據(jù)報(bào)發(fā)送出去,但是并不能保證它們能到達(dá)目的地 ,也不能保證數(shù)據(jù)包到達(dá)的順序。由于UDP在傳輸數(shù)據(jù)報(bào)前不用在客戶和服務(wù)器之間建立一個(gè)連接,且沒有超時(shí)重發(fā)等機(jī)制,故而傳輸速度很快。

在Java中UDP的實(shí)現(xiàn):

* UDP:

* 客戶端:

* 1.創(chuàng)建用于UDP通信的socket對象---DatagramSocket(用于UDP數(shù)據(jù)的發(fā)送和接收)---數(shù)據(jù)報(bào)套接字

* 2.準(zhǔn)備數(shù)據(jù),封裝包----DatagramPacket(數(shù)據(jù)包)

* 3.發(fā)送數(shù)據(jù),通過send方法

* 4.關(guān)閉套接字對象--socket對象

* 服務(wù)器端: 接收數(shù)據(jù)

* 1.創(chuàng)建socket套接字對象,并綁定端口號

* 2.創(chuàng)建包對象,創(chuàng)建空數(shù)組,準(zhǔn)備接收數(shù)據(jù)

* 3.接收數(shù)據(jù)

* 4.關(guān)閉資源

* UDP廣播方式:

* 同一網(wǎng)段所有主機(jī)都能接收,前提是端口要監(jiān)聽

* 客戶端發(fā)送廣播,開啟端口監(jiān)聽的服務(wù)端接收并打印消息

* 廣播的實(shí)現(xiàn) :由客戶端發(fā)出廣播,服務(wù)器端接收

* String host = "255.255.255.255";//廣播地址--代表所有主機(jī)

* 10.0.122.255----代表前三個(gè)網(wǎng)段是 10.0.122的所有主機(jī)

代碼實(shí)現(xiàn):

客戶端(發(fā)送端):

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;

public class UDP_client {
 public static void main(String[] args) throws IOException {
 //1.創(chuàng)建對象
 //構(gòu)造數(shù)據(jù)報(bào)套接字并將其綁定到本地主機(jī)上任何可用的端口。
 DatagramSocket socket = new DatagramSocket();
 //2.打包
 byte[] arr = "客戶端:哈哈。。。。".getBytes();
 //四個(gè)參數(shù): 包的數(shù)據(jù) 包的長度 主機(jī)對象 端口號   
 DatagramPacket packet = new DatagramPacket
  (arr, arr.length,InetAddress.getByName("10.0.122.255") , 4000);
 
 //3.發(fā)送
 socket.send(packet);
 
 //4.關(guān)閉資源
 socket.close();
 }
 
}

服務(wù)器端(接收端):

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
import java.util.Arrays;


public class UDP_server {
 public static void main(String[] args) throws IOException {
 //1
 DatagramSocket serverSocket = new DatagramSocket(4000);
 //2
 byte[] arr = new byte[1024];
 DatagramPacket packet = new DatagramPacket(arr, arr.length);
 
 //3 當(dāng)程序運(yùn)行起來之后,receive方法會(huì)一直處于監(jiān)聽狀態(tài)
 serverSocket.receive(packet);
 //從包中將數(shù)據(jù)取出
 byte[] arr1 = packet.getData();
 System.out.println(new String(arr1));
 
 //4
 serverSocket.close();
 }
}

結(jié)果:

前三個(gè)網(wǎng)段是 10.0.122的所有主機(jī)上的端口號為4000的服務(wù)器端,只要開著,都可以接收到 ---

客戶端:哈哈。。。。

以上這篇基于Java中UDP的廣播形式(實(shí)例講解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java 多線程synchronized關(guān)鍵字詳解(六)

    Java 多線程synchronized關(guān)鍵字詳解(六)

    這篇文章主要介紹了Java 多線程synchronized關(guān)鍵字詳解(六)的相關(guān)資料,需要的朋友可以參考下
    2015-12-12
  • SpringBoot動(dòng)態(tài)生成接口實(shí)現(xiàn)流程示例講解

    SpringBoot動(dòng)態(tài)生成接口實(shí)現(xiàn)流程示例講解

    最近遇到一個(gè)需求,需要在程序運(yùn)行過程中,可以動(dòng)態(tài)新增接口,自定義接口參數(shù)名稱,基本類型,以及請求方法,請求頭等等。通過幾天的研究,找到了我需要的解決方案
    2023-01-01
  • springboot整合logback打印日志,分文件

    springboot整合logback打印日志,分文件

    本文主要介紹了springboot整合logback打印日志,分文件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • IDEA創(chuàng)建父項(xiàng)目和子項(xiàng)目的實(shí)現(xiàn)步驟

    IDEA創(chuàng)建父項(xiàng)目和子項(xiàng)目的實(shí)現(xiàn)步驟

    本文主要介紹了IDEA創(chuàng)建父項(xiàng)目和子項(xiàng)目的實(shí)現(xiàn)步驟,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • Java框架入門之簡單介紹SpringBoot框架

    Java框架入門之簡單介紹SpringBoot框架

    今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識,文章圍繞著SpringBoot框架展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Maven倉庫無用文件和文件夾清理的方法實(shí)現(xiàn)

    Maven倉庫無用文件和文件夾清理的方法實(shí)現(xiàn)

    這篇文章主要介紹了Maven倉庫無用文件和文件夾清理的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Java中instanceof關(guān)鍵字的用法總結(jié)

    Java中instanceof關(guān)鍵字的用法總結(jié)

    instanceof是Java的一個(gè)二元操作符,和==,>,<是同一類東東。由于它是由字母組成的,所以也是Java的保留關(guān)鍵字。它的作用是測試它左邊的對象是否是它右邊的類的實(shí)例,返回boolean類型的數(shù)據(jù)
    2013-10-10
  • mybatis-flex實(shí)現(xiàn)鏈?zhǔn)讲僮鞯氖纠a

    mybatis-flex實(shí)現(xiàn)鏈?zhǔn)讲僮鞯氖纠a

    MyBatis-Flex它提供了一種鏈?zhǔn)讲僮鞣绞?本文主要介紹了mybatis-flex實(shí)現(xiàn)鏈?zhǔn)讲僮鞯氖纠a,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-06-06
  • Java實(shí)現(xiàn)的斷點(diǎn)續(xù)傳功能的示例代碼

    Java實(shí)現(xiàn)的斷點(diǎn)續(xù)傳功能的示例代碼

    本篇文章主要介紹了Java實(shí)現(xiàn)的斷點(diǎn)續(xù)傳功能的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02
  • MyBatis持久層框架的用法知識小結(jié)

    MyBatis持久層框架的用法知識小結(jié)

    MyBatis 本是apache的一個(gè)開源項(xiàng)目iBatis,接下來通過本文給大家介紹MyBatis持久層框架的用法知識小結(jié),非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧
    2016-07-07

最新評論

江达县| 龙口市| 板桥市| 固原市| 额尔古纳市| 西乡县| 皮山县| 惠水县| 天水市| 邹城市| 康乐县| 合阳县| 澄城县| 安仁县| 阜宁县| 宝坻区| 措美县| 凌源市| 汾西县| 尼玛县| 湖南省| 蒙阴县| 深州市| 易门县| 沙洋县| 安图县| 定边县| 收藏| 开江县| 灵璧县| 乌恰县| 漳平市| 阿图什市| 建始县| 永寿县| 定远县| 吉隆县| 兴和县| 宣恩县| 田阳县| 泾川县|