• UDP用户数据报协议


    UDP

    UDP它是属于TCP/IP协议族中的一种。是无连接的协议,发送数据前不需要建立连接,是没有可靠 性的协议。因为不需要建立连接所以可以在在网络上以任何可能的路径传输,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。

    UDP 的主要特点:

    1. UDP 是无连接的,即发送数据之前不需要建立连接,因此减少了开销和发送数据之前的时延。
    2. UDP 使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表。
    3. UDP 是面向报文的,发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界
    4. UDP 没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低
    5. UDP 支持一对一、一对多、多对一和多对多的交互通信。
    6. UDP 的首部开销小,只有8个字节,比TCP的20个字节的首部要短

    本地同一台机器

    接收方

    1. //接收方
    2. public class Recv {
    3. public static void main(String[] args) throws Exception {
    4. //打开监听端口,等待发送方的发送数据。注意这里不会建立连接
    5. DatagramSocket ds = new DatagramSocket(9000);
    6. //创建空数据报用于接收发送的数据,注意字节数组的长度不能小于需要接收的内容长度,否则会有截取部分的问题
    7. byte[] buffer=new byte[8192];
    8. DatagramPacket dp=new DatagramPacket(buffer,buffer.length);
    9. //阻塞当前线程等待发送的数据到达,接收后数据会填充到空数据报种
    10. ds.receive(dp);
    11. System.out.println(dp.getAddress()); //发送方的IP地址
    12. System.out.println(dp.getPort()); //发送方的端口号
    13. byte[] data=dp.getData(); //接收到的数据
    14. System.out.println(new String(data));
    15. ds.close();
    16. }
    17. }

    发送方 

    1. public class Sender {
    2. public static void main(String[] args) throws Exception {
    3. // 随意打开一个空闲端口,用于发送数据报
    4. DatagramSocket ds = new DatagramSocket();
    5. // 需要发送的具体数据
    6. String str = "你好!";
    7. byte[] arr = str.getBytes();
    8. // 构建对应的数据报
    9. // 参数1是发送的具体数据,参数2是具体数据的长度,参数3是接收方的IP地址,参数4是接收方的端口号
    10. DatagramPacket dp = new DatagramPacket(arr, arr.length, InetAddress.getByName("localhost"), 9000);
    11. ds.send(dp); //将数据报发送到网络上,由各个数据报自行寻址到目标地
    12. ds.close();
    13. }
    14. }

     

  • 相关阅读:
    nacos docker compose安装配置
    Spring循环依赖源码解析(深度理解)
    解决每次打开pycharm都特别慢的几个方法
    visual_mesh9.0 划分网格记录
    MATLAB小技巧(22)矩阵分析--逐步回归
    20天深度复习JavaSE的详细笔记(十八)——网络编程
    ElasticSearch安装、插件介绍及Kibana的安装与使用详解
    二百三十四、Linux——导出CentOS 7已安装的软件包为离线安装包
    Spring中的IOC控制Mybatis案例
    如何用Android Studio实现登录跳转
  • 原文地址:https://blog.csdn.net/weixin_50518344/article/details/126878475