JAVA筆記:Java網路編程(四)UDP程式設計,網路編程udp

來源:互聯網
上載者:User

JAVA筆記:Java網路編程(四)UDP程式設計,網路編程udp

在TCP協議中所有的操作都必須建立可靠的串連,對於系統資源的消耗很大,為了減少這種開銷,在網路中又提供了另外一種傳輸協議:

UDP協議,不可靠的串連,在各個聊天工具中被廣泛使用。

在UDP開發中使用DatagramPacket封裝一條要發送的資訊,之後使用DatagramSocket用於完成資訊的發送。

UDP中主要是使用資料報協議發送的。

DatagramPacket主要方法:


包含真實的要發送的資訊,稱為資料報。

所有的資料報使用DatagramSocket完成資料的發送。

執行個體:

伺服器端:

import java.net.DatagramPacket ;import java.net.DatagramSocket ;import java.net.InetAddress ;public class UDPServer{public static void main(String args[]) throws Exception{// 所有異常拋出DatagramSocket ds = null ;// 定義發送資料報的對象DatagramPacket dp = null ;// 聲明DatagramPacket對象ds = new DatagramSocket(3000) ;// 服務端在3000連接埠上等待伺服器發送資訊\String str = "hello World!!!" ;dp = new DatagramPacket(str.getBytes(),str.length(),InetAddress.getByName("localhost"),9000) ; // 所有的資訊使用buf儲存System.out.println("發送資訊。") ;ds.send(dp);// 發送資訊出去ds.close() ;}};


用戶端:

import java.net.DatagramPacket ;import java.net.DatagramSocket ;public class UDPClient{public static void main(String args[]) throws Exception{// 所有異常拋出DatagramSocket ds = null ;// 定義接收資料報的對象byte[] buf = new byte[1024] ;// 開闢空間,以接收資料DatagramPacket dp = null ;// 聲明DatagramPacket對象ds = new DatagramSocket(9000) ;// 用戶端在9000連接埠上等待伺服器發送資訊dp = new DatagramPacket(buf,1024) ; // 所有的資訊使用buf儲存ds.receive(dp)  ;// 接收資料String str = new String(dp.getData(),0,dp.getLength()) + "from " + dp.getAddress().getHostAddress() + ":" + dp.getPort() ;System.out.println(str) ;// 輸出內容}};



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.