UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。(无连接、封包、大小限制、速度快)。
一、UDP协议的特点:
- 将数据及源和目的地封装成数据包中,不需要建立连接。
- 每个数据报的大小限制在64K内
- 因无连接,是不可靠协议。
- 不需要建立连接,速度快。
二、通俗解释:
面向无连接的,你在与不在我都在发。就像邮局寄包裹,比如寄饼干。
,邮局会给你一个盒子和胶带,你将饼干封上(封包),将数据达成数据包,打完之后,贴张地址(天堂街)、门牌号(地狱门18号)(地址、端口),但地址可能不存在,那么则丢弃。
三、UDP举例:
步话机、FEIQ、网络会议、录屏传播、聊天。
四、socket(套接字):
Socket就是为网络服务提供的一种机制。
通信的两端都有Socket。(插座,初期可简单理解为应用程序,而非网卡接口)
网络通信其实就是Socket通信。
数据在两个Socket间通过IO传输。
五、发送端:
需求:通过Udp传输的方式,将一段文字数据发送出去。
定义了一个udp的接收端。
思路:
1、建立udpSocket服务(找邮局)
2、提供数据,将数据封装到数据包中(封包、写地址)
3、通过socket服务发送功能,将数据包发送出去。(包裹上路)
4、关闭资源。
1 class UdpSend 2 { 3 public static void main(String[] args) throws Exception 4 { 5 //1、创建udpSocket服务。通过DatagramSocket对象 6 DatagramSocket ds=new DatagramSocket(8888); 7 8 //2、确定数据,并封装数据包 9 byte[] buf="udp I coming".getBytes(); 10 11 /* 12 InetAddress addr=InetAddress.getLocalHost(); 13 InetAddress addr = InetAddress.getByName(null); 14 InetAddress.getByName("localhost"); 15 InetAddress.getByName("127.0.0.1"); 16 */ 17 DatagramPacket dp=new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.1.102"),10000); 18 19 //3、通过socket服务,将已有的数据包发送出去,通过send方法 20 ds.send(dp); 21 22 //4、关闭资源 23 ds.close(); 24 } 25 }