欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java 基于UDP協(xié)議實現(xiàn)消息發(fā)送

 更新時間:2020年11月21日 17:36:42   作者:Hateyes  
這篇文章主要介紹了Java 基于UDP協(xié)議實現(xiàn)消息發(fā)送,幫助大家更好的理解和學習Java網(wǎng)絡(luò)編程,感興趣的朋友可以了解下

發(fā)短信:不用連接,但需要知道對方的地址,客戶端、服務端沒有明確的界限,可以說沒有客戶端、服務端一說。

發(fā)送端

package lesson03;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

/**
 * 發(fā)送端
 */
public class UdpClientDemo1 {

  public static void main(String[] args) throws Exception {

    //1、建立一個 Socket
    DatagramSocket socket = new DatagramSocket();

    /**
     * 2、建個包
     */

    //需要發(fā)送的消息
    String msg = "你好啊,服務器!";

    //發(fā)送地址
    InetAddress localhost = InetAddress.getByName("localhost"); //主機
    //發(fā)送端口
    int port = 9090;

    /**
     * 五個參數(shù):
     * @param  buf  msg.getBytes():需要發(fā)送的數(shù)據(jù)包
     * @param  offset  0:數(shù)據(jù)偏移量
     * @param  length  msg.getBytes().length:數(shù)據(jù)長度
     * @param  address  localhost:目標地址
     * @param  port  port:目標端口
     */
    DatagramPacket packet = new DatagramPacket(msg.getBytes(), 0, msg.getBytes().length, localhost, port);

    //3、發(fā)送包
    socket.send(packet);

    //4、關(guān)閉流
    socket.close();
  }

}

接收端

package lesson03;

import java.net.DatagramPacket;
import java.net.DatagramSocket;

/**
 * 接收端
 */
public class UdpServerDemo1 {

  public static void main(String[] args) throws Exception {

    //開放端口
    DatagramSocket socket = new DatagramSocket(9090);

    //接收數(shù)據(jù)包
    byte[] buffer = new byte[1024];
    DatagramPacket packet = new DatagramPacket(buffer, 0, buffer.length);

    //接收
    socket.receive(packet); //阻塞接收

    //輸出數(shù)據(jù)包地址
    System.out.println(packet.getAddress().getHostAddress());
    /**
     * 輸出數(shù)據(jù)包數(shù)據(jù)
     * packet:Data 類型
     * 通過構(gòu)造器轉(zhuǎn)成 String 類型:new String();
     */
    System.out.println(new String(packet.getData(), 0, packet.getLength()));

    //關(guān)閉連接
    socket.close();

  }

}

以上就是Java 基于UDP協(xié)議實現(xiàn)消息發(fā)送的詳細內(nèi)容,更多關(guān)于Java 消息發(fā)送的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 關(guān)于Java?float和double精度范圍大小

    關(guān)于Java?float和double精度范圍大小

    這篇文章主要介紹了關(guān)于Java?float和double精度范圍大小,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java實現(xiàn)任意進制轉(zhuǎn)換

    Java實現(xiàn)任意進制轉(zhuǎn)換

    這篇文章主要為大家詳細介紹了Java實現(xiàn)任意進制轉(zhuǎn)換的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 地址到經(jīng)緯度坐標轉(zhuǎn)化的JAVA代碼

    地址到經(jīng)緯度坐標轉(zhuǎn)化的JAVA代碼

    這篇文章介紹了地址到經(jīng)緯度坐標轉(zhuǎn)化的JAVA代碼,有需要的朋友可以參考一下
    2013-09-09
  • Java編程實現(xiàn)計算兩個日期的月份差實例代碼

    Java編程實現(xiàn)計算兩個日期的月份差實例代碼

    這篇文章主要介紹了Java編程實現(xiàn)計算兩個日期的月份差實例代碼,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • JVM堆內(nèi)存溢出后,其他線程是否可繼續(xù)工作的問題解析

    JVM堆內(nèi)存溢出后,其他線程是否可繼續(xù)工作的問題解析

    這篇文章主要介紹了JVM 堆內(nèi)存溢出后,其他線程是否可繼續(xù)工作?,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • 如何解決Could not transfer artifact org.springframework.boot問題

    如何解決Could not transfer artifact org.spri

    在Maven更新過程中遇到“Could not transfer artifact org.springframework.boot”錯誤通常是由于網(wǎng)絡(luò)問題,解決方法是在Maven的設(shè)置中忽略HTTPS,添加特定語句后,可以正常下載依賴,但下載速度可能較慢,這是一種常見的解決方案,希望對遇到相同問題的人有所幫助
    2024-09-09
  • 關(guān)于Java大整數(shù)運算之BigInteger類

    關(guān)于Java大整數(shù)運算之BigInteger類

    這篇文章主要介紹了關(guān)于Java大整數(shù)運算之BigInteger類,BigInteger提供高精度整型數(shù)據(jù)類型及相關(guān)操作,所有操作中,都以二進制補碼形式表示,需要的朋友可以參考下
    2023-05-05
  • Java設(shè)計模式之備忘錄模式詳解

    Java設(shè)計模式之備忘錄模式詳解

    這篇文章主要介紹了Java設(shè)計模式之備忘錄模式詳解,備忘錄模式在不破壞封裝性的前提下,捕獲一個對象的內(nèi)部狀態(tài)并在該對象之外保存這個狀態(tài),這樣以后就可以將該對象恢復到原先保存的狀態(tài),需要的朋友可以參考下
    2023-12-12
  • 淺談SpringCloud?Alibaba和SpringCloud的區(qū)別

    淺談SpringCloud?Alibaba和SpringCloud的區(qū)別

    這篇文章主要介紹了淺談SpringCloud?Alibaba和SpringCloud的區(qū)別,Spring?Cloud?Netflix框架也屬于Spring?Cloud,但是Netflix并不是由spring來進行開發(fā)的,需要的朋友可以參考下
    2023-05-05
  • 簡單實現(xiàn)java數(shù)獨游戲

    簡單實現(xiàn)java數(shù)獨游戲

    這篇文章主要教大家如何簡單實現(xiàn)java數(shù)獨游戲,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12

最新評論