溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java如何實現(xiàn)UDP

發(fā)布時間:2021-11-24 10:41:06 來源:億速云 閱讀:222 作者:小新 欄目:編程語言

這篇文章主要介紹了java如何實現(xiàn)UDP,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

UDP:
需要datagramSocket來進行中間的運輸
無連接的傳輸層協(xié)議,提供面向事務(wù)的簡單不可靠信息傳輸服務(wù)、可能丟失、非常簡單、開銷小
一切以包為中心
數(shù)據(jù)傳輸不用IO流

接收端
Address already in use: Cannot bind同一個協(xié)議下端口不允許沖突
1、使用DatagramSocket指定端口 創(chuàng)建接收端
2、準備容器封裝成DatagramPacket 包裹
3、阻塞式接受包裹receive(DatagramPacket p);
4、分析數(shù)據(jù)getData()返回類型為字節(jié)數(shù)組,getLength()返回數(shù)據(jù)長度,類型為int
5、釋放資源

public class http {

public static void main(String[]args) throws  Exception
{
    System.out.println("接收方啟動中...");
    //1、使用DatagramSocket指定端口 創(chuàng)建接收端
    DatagramSocket server=new DatagramSocket(9999);//同一臺電腦上端口不要沖突
    //2、準備容器封裝成DatagramPacket 包裹
    byte[] container=new byte[1024*60];
    DatagramPacket packet=new DatagramPacket(container,0,container.length);
    //3、阻塞式接受包裹receive(DatagramPacket p);
    server.receive(packet);//阻塞式,有等待時間
    //4、分析數(shù)據(jù)getData()返回類型為字節(jié)數(shù)組,getLength()返回數(shù)據(jù)長度,類型為int
    byte[] datas=packet.getData();
    int len=packet.getLength();
    System.out.println(new String(datas,0,datas.length));
    //5、釋放資源
    server.close();
}
}

發(fā)送端
1、使用DatagramSocket指定端口 創(chuàng)建發(fā)送端
2、準備數(shù)據(jù),一定要轉(zhuǎn)成字節(jié)數(shù)組
3、準備容器封裝成DatagramPacket 包裹,需要指定目的地(ip地址和端口)
4、發(fā)送包裹send(DatagramPacket p);
5、釋放資源

public class client {

public static void main(String[]args) throws IOException
{
    System.out.println("發(fā)送啟動中...");
    //1、使用DatagramSocket指定端口 創(chuàng)建發(fā)送端
    DatagramSocket client =new DatagramSocket(8888);
    //2、準備數(shù)據(jù),一定要轉(zhuǎn)成字節(jié)數(shù)組
    String data="我最帥";
    byte[] datas=data.getBytes();
    //3、準備容器封裝成DatagramPacket 包裹,需要指定目的地(ip地址和端口)
    DatagramPacket packet=new DatagramPacket(datas,0,datas.length,new InetSocketAddress("localhost",9999));
    //4、發(fā)送包裹send(DatagramPacket p);
    client.send(packet);
    //5、釋放資源
    client.close();
}
}

感謝你能夠認真閱讀完這篇文章,希望小編分享的“java如何實現(xiàn)UDP”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI