日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java:网络编程之UDP的使用

發布時間:2025/7/14 java 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java:网络编程之UDP的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
java.net? 類 DatagramSocket 此類表示用來發送和接收數據報包的套接字,數據報套接字是包投遞服務的發送或接收點。 java.net? 類 DatagramPacket 此類表示數據報包,數據報包用來實現無連接包投遞服務。 ? ?<1> void send(DatagramPacket p)? ? ? ? ? ? 從此套接字發送數據報包。 ?DatagramPacket(byte[] buf, int length, InetAddress address, int port)? ? ? ? ? ? 構造數據報包,用來將長度為 length 的包發送到指定主機上的指定端口號。 ? ?<2>void receive(DatagramPacket p)? ? ? ? ? ? 從此套接字接收數據報包。 ? ?DatagramPacket(byte[] buf, int length)? ? ? ? ? ? 構造 DatagramPacket,用來接收長度為 length 的數據包。?? ? 需求:通過UDP傳輸方式,將一段文字數據發送出去。 思路:1.建立udpscoket服務 ? ? ? ? ?2.提供數據,并將數據封裝到數據包中 ? ? ? ? ?3.通過scoket服務的功能將數據發出去 ? ? ? ? ?4.關閉資源 //例子如下: import java.net.*;//發送數據 class UdpSend {public static void main(String[] args)throws Exception{//1,建立udp服務,通過DatagramScoket,建立端點DatagramSocket ds = new DatagramSocket(10000);//可以指定發送端口,例如10000,也可以不用指定,讓系統隨機默認分配//2,確定數據,并封裝成數據包.DatagramPacket(byte[] buf, int length, InetAddress address, int port)byte[] buf = "udp is coming".getBytes();//直接指定信息數據 DatagramPacket dp = new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.1.105"),8888);//3,通過scoket服務的send方法發送數據, ds.send(dp);//4,關閉資源 ds.close(); } }

?

需求:定義一個應用程序,用于接收udp協議傳輸的數據并處理 思路:1.定義udpscoket服務,通常會監聽一個端口,其實就是給這個接受網絡應用程序定義一個數字標識。方便于明確哪些數據過來該應用程序可以處理。 ? ? ? ? ?2.定義一個數據包,因為要存儲要接收的數據,因為數據包對象中有更多功能可以提取字節數據中的不同數據信息 ? ? ? ? ?3.通過scoket服務的receive方法將接收到的字節數據存儲到定義好的數據包中 ? ? ? ? ?4.通過數據包對象的特有功能,將不同的數據取出,打印在控制臺上。 ? ? ? ? ?5.關閉資源 //例子如下: //接收數據 class UdpReceive {public static void main(String[] args)throws Exception{//1,建立udp服務,通過DatagramScoket,建立端點DatagramSocket ds = new DatagramSocket(8888);//必須指定接收端應用程序的端口,用來匹配發送端數據包來的端口號while(true){//2,創建一個字節數據包用于存儲接收過來的字節數據byte[] buf = new byte[1024];DatagramPacket dp = new DatagramPacket(buf,buf.length);//3,通過scoket服務的receive方法接收數據,ds.receive(dp);//阻塞式方法//4,將字節數據轉換為字符串并輸出String message = new String(dp.getData(),0,dp.getLength());String IP = dp.getAddress().getHostAddress();int port = dp.getPort();System.out.println("IP:"+IP+"::"+"port:"+port); System.out.println("message:"+message); }//5,關閉資源//ds.close(); } }

?

轉載于:https://www.cnblogs.com/XYQ-208910/p/4918884.html

總結

以上是生活随笔為你收集整理的Java:网络编程之UDP的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。