程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> 使用UDP進行數據發送的實例一,udp數據發送實例一

使用UDP進行數據發送的實例一,udp數據發送實例一

編輯:JAVA綜合教程

使用UDP進行數據發送的實例一,udp數據發送實例一


首先如果TCP學過以後,再看UDP進行數據傳輸也是大同小異的,只是用到的類不同

UDP進行傳輸需要DataSocket和Datapacket類,Datapacket叫數據報,每一個數據報不能大於64k,都記錄著數據信息,發送端的IP、端口號,

以及要發送到的接收端的IP、端口號。

UDP進行傳輸是將數據全部打包,然後一起發過去,容易造成數據丟失,但速度較快,比如要下載一個電影,缺失幾偵並沒有什麼影響,但需要快速下載,這個時候可以選擇UDP進行傳輸,所謂各有所長,具體選擇那種方式還是要看具體需要。

接下來附加一個UDP進行文字傳輸,然後接收端打印到控制台上

 1 package com.UDP.java;
 2 
 3 import java.io.IOException;
 4 import java.net.DatagramPacket;
 5 import java.net.DatagramSocket;
 6 import java.net.InetAddress;
 7 import org.junit.Test;
 8 
 9 public class TestUDP {
10     // 發送端
11     @Test
12     public void send() {
13         DatagramSocket ds = null;
14         try {
15             ds = new DatagramSocket();
16             // 創建一個數據報,每一個數據報不能大於64k,都記錄著數據信息,發送端的IP、端口號,以及要發送到
17             // 的接收端的IP、端口號。
18             byte[] b = "我是發送端".getBytes();
19             DatagramPacket pack = new DatagramPacket(b, 0, b.length, 
20                     InetAddress.getByName("192.168.1.101"), 9090);
21             ds.send(pack);
22         } catch (IOException e) {
23             e.printStackTrace();
24         } finally {
25             if (ds != null) {
26                 ds.close();
27             }
28         }
29     }
30 
31     // 接收端
32     @Test
33     public void receive() {
34         DatagramSocket ds = null;
35         try {
36             ds = new DatagramSocket(9090);
37             byte[] b = new byte[1024];
38             DatagramPacket pack = new DatagramPacket(b, 0, b.length);
39             ds.receive(pack);
40             String str = new String(pack.getData(), 0, pack.getLength());
41             System.out.println(str);
42         }catch (IOException e) {
43             e.printStackTrace();
44         }
45         finally{
46             if(ds != null){
47                 ds.close();
48             }
49         }
50     }
51 }

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved