首页 > 代码库 > 使用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 @Test12 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 @Test33 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 }
使用UDP进行数据发送的实例一
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。