1.定义
UDP(User Datagram Protocol):用户数据报协议
TCP (Transmission Control Protocol):传输控制协议
上层应用的两个不同的运输层协议。

UDP概述:

  • UDP是无连接的。
  • UDP使用尽最大努力交付。
  • UDP没有拥塞控制。
  • UDP是面向报文的。
  • UDP支持一对一、多对多、多对一和多对多的交互通信

2.UDP协议发送数据

发送处理过程:

  • 创建发送端Socket对象——DatagramSocket
  • 创建数据包——DatagramPacket
  • 通过Socket发送
  • 释放相关资源

发送处理代码:

package udp;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;public class UDPSend {public static void main(String[] args)throws IOException{
//      指定地址,发送端口,拟好发送内容,创建数据包byte[] data =" hello,udp!".getBytes();InetAddress inetAddress =InetAddress.getByName("127.0.0.1");DatagramPacket dp = new DatagramPacket(data,data.length,inetAddress,6000);
//      实例化,发送到端口6000;DatagramSocket ds = new DatagramSocket();ds.send(dp);
//      data1 用来接受反馈的信息byte[] data1 =new byte[1024];DatagramPacket dp1 = new DatagramPacket(data1,data1.length);ds.receive(dp1);int length =dp1.getLength();System.out.println(new String(data1,0,length));ds.close();}
}

3.UDP协议接收数据
接受处理过程:

  • 创建接受端Socket对象——DatagramSocket
  • 创建数据接收容器 ——DatagramPacket
  • 接受数据
  • 打印信息
  • 释放资源

接受处理代码:

package udp;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class UDPRecieve {public static void main(String[] args)throws IOException{
//      监视6000端口的内容。DatagramSocket ds =new DatagramSocket(6000);
//      定义接受数据的数据包dpbyte[] data = new byte[1024];DatagramPacket dp = new DatagramPacket(data,data.length);
//      接受数据并打印ds.receive(dp);String ip = dp.getAddress().getHostAddress();int port = dp.getPort();int length = dp.getLength();System.out.println(new String(data,0,length)+"........"+ip+":"+port);
//      data1 用来存储反馈信息InetAddress inetAddress = dp.getAddress();byte[] data1 =" i have received!".getBytes();DatagramPacket Sendpacket = new DatagramPacket(data1,data1.length,inetAddress,port);ds.send(Sendpacket);
//      关闭ds.close();}
}

4.心得体会
慢慢体会啊啊啊啊,不要做自己欺骗自己的小傻子啊。
每次学的东西都没入脑,第二天就忘了。
路漫漫其修远兮,吾将上下而求索。

Java实现UDP协议相关推荐

  1. Java Socket udp协议在网络读卡器上的使用

    RFID网络读写器介绍:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-17663462238.11.12cd5b43ejf7s9&i ...

  2. Java中UDP协议的基本原理和简单用法

    UDP协议是非面向连接的,相对于TCP协议效率较高,但是不安全.UDP协议类似发信息的过程,不管接收方是在线还是关机状态,都会把信息发送出去.但是如果接收方不处于接收信息的状态,发送出去的数据包就会丢 ...

  3. Java 用UDP协议实现远程关机

    UDP监听 package com;/*** * 项目名称:CloseWin * 类名称:UDPListener.java * 类描述: * 创建人:Guus * 创建时间:2020年3月16日 上午 ...

  4. java,NIO,UDP协议网络通信DEMO

    @Testpublic void send() throws IOException {DatagramChannel dc = DatagramChannel.open();//设置非阻塞dc.co ...

  5. java,UDP协议简单实现

    //UDP协议简单实现-----Serverpackage UDP;import java.net.DatagramPacket; import java.net.DatagramSocket; im ...

  6. Java UDP协议传输

    使用UDP协议编写一个网络程序,设置接收端程序的监听端口是8001,发送端发送的数据是"Hello, world''. 接收端: 1 import java.net.*; 2 public ...

  7. 【Java网络编程(一)】IP地址、端口、URL、网络爬虫原理、TCP UDP协议

    IP地址与域名的获取 package cn.hanquan.test;import java.net.InetAddress; import java.net.UnknownHostException ...

  8. JAVA socket编程 Datagram套接字 UDP协议(转)

      查看文章     JAVA socket编程 Datagram套接字 UDP协议 2009-05-13 09:35 1 UDP套接字 数据报(Datagram)是网络层数据单元在介质上传输信息的一 ...

  9. Java基于socket服务实现UDP协议的方法

    转载自 Java基于socket服务实现UDP协议的方法 这篇文章主要介绍了Java基于socket服务实现UDP协议的方法,通过两个简单实例分析了java通过socket实现UDP发送与接收的技巧, ...

最新文章

  1. 一次使用Eclipse Memory Analyzer分析weblogic内存溢出
  2. 3D Reconstruction三维重建halcon算子,持续更新
  3. java scala 获取类_在Scala 2.10中获取java.lang.Class [T]的Scala类型
  4. C# 制作不规则窗体的两种解决方案
  5. PB中实现备份数据库/还原数据库
  6. php curl设置headers,php curl如何设置头部信息
  7. TI DSP 28335 自学之路,到此止步
  8. 将VBB文件转换成XML文件
  9. 英语教学计划软件测试,第一学期英语教学计划
  10. 电商产品精修训练营第3天_ps抠图
  11. [计算机网络]网络层IP协议 选路算法
  12. MySQL中Index与Key的区别
  13. mac 设置mysql登录快捷键_史上最详细的苹果Macbook快捷键使用
  14. Kafka节点扩容、缩容后reassign partition
  15. 软件使用:如何用Mac做热点。
  16. 0.96寸OLED(SSD1306)屏幕显示(三)——屏幕垂直水平滚动
  17. 性能测试基础及loadRunner的使用(超详细)
  18. 关于“与google服务器通信时出现问题“
  19. 2018年中国数字经济发展报告:农村数字消费增速超一二线城市
  20. java桌面通讯录源码_TONGXUNLU JAVA通讯录源码 JAVA课程设计源码 讯友桌面通讯录 通讯录管理 - 下载 - 搜珍网...

热门文章

  1. POJ2828 Buy Tickeys 树状数组+二分 线段树留坑。。。
  2. python3—批量生成验证码(含数字、英文、中文)
  3. 人事管理系统 —— 数据库+可视化
  4. HTML5印章绘制电子签章图片(中文英文椭圆章、中文英文椭圆印章)
  5. 再过半个小时,你就能明白kafka的工作原理了(2)(*)
  6. jQuery转换JS原生代码
  7. 物联网安全知识点总结--第四章 物联网感知层安全
  8. RabbitMQ消费端停止问题
  9. HTML5 Canvas眨眼睛动画
  10. 参数估计与非参数估计