【Java 网络编程】UDP 简介
文章目录
- I UDP 简介
- II UDP 不可靠性
- III UDP 作用
- IV UDP 报文头
- V UDP 数据包长度
I UDP 简介
1. UDP : User Datagram Protocol , 用户数据报协议 , 又叫用户数据报文协议 ;
2. UDP 协议特点 : UDP 是面向数据报的传输层协议 , UDP 协议是基于报文的协议 , 不是面向连接的协议 ; UDP 的发送和接收是不需要建立连接的 , 只需要发送 , 及在对应的设备上监听指定端口接收即可 ;
II UDP 不可靠性
1. UDP 与 TCP : UDP 是面向数据报的 , TCP 是面向连接的 , UDP 传输不可靠 , TCP 传输可靠 ;
2. 没有备份 : UDP 在网络层中 , 将上层传给网络层数据封装后发送出去 , 这些数据是不保留备份的 ; 如果发送失败 , 就失败了 ;
3. UDP 对 IP 数据报处理 : UDP 协议中在该数据报头部加入了数据校验字段和复用相关字段 ;
4. 发送端接收端操作 : UDP 协议传输中 , 发送端封装数据 , 接收端接收数据时从网络中抓取发送给自己的数据包 , 如果客户端发送的数据包与接收端抓取数据包没有同步 , 那么接收端可能就收不到该数据 ;
5. UDP 协议特点 : UDP 协议中是没有标准的客户端与服务器端的 , 其结构简单 , 不用进行数据的校验 , 速度延迟很低 , 可以广播 , 其缺点也很明显 , 就是可靠性低 , 容易丢包 ;
III UDP 作用
1. 用作底层协议 : DNS , TFTP , SNMP 协议都是基于 UDP 协议的 , 其底层的数据传输机制使用的是 UDP 协议 ;
2. 应用场景 : UDP 可以用于视频 , 音频 , 不重要的数据传输 ; 直播 , 电视信号传输可以使用 UDP 协议传输 , 视频下载使用的是 TCP 传输 , 因为其要保证文件的正确性 ;
IV UDP 报文头
UDP 报文头 : 长度 64 位 , 8 字节 , 0 ~ 15 位 存储源端口号 , 16 ~ 31 位存储目标端口号 , 32 ~ 47 位 是数据长度 , 48 ~ 63 存储报文头和数据的校验和 ;
V UDP 数据包长度
UDP 报文头中存储的长度信息 16 位 , 即 2 字节 , 其最大可表示的数字时 216−1=655352^{16} - 1 = 65535216−1=65535 , 自身的报文头占了 64 位 , 8 字节 , UDP 数据包的最大长度是 65535−8=6550765535 - 8 = 6550765535−8=65507 字节 , 大约 64 KB ;
【Java 网络编程】UDP 简介相关推荐
- Java网络编程UDP编程
一. 简单先介绍一下网络编程 1. 概念 : 通过网络IP连接起来,实现网络通信,数据传输的操作,就是网络编程 2. 实现 : 目前来说当前主要有两种实现的方法,TCP和UDP: 其中TCP需要划分客 ...
- Java网络编程——UDP
网络编程,UDP编程 网络编程 网络编程三要素 IP ipv4 ipv6 Java获取IP 端口 端口号 协议 UDP协议 TCP协议 UDP通信程序 发送步骤 接收步骤 单播 组播 广播 网络编程 ...
- 关于JAVA网络编程UDP和TCP(上)
对于JAVA的网络编程我们又称之为socket编程.首先,网络编程,顾名思义,要涉及到网络,其中网络协议是必不可少的对于我们而言,一个重要的网络协议是大家要会的:TCP/IP协议,udp协议. 一.网 ...
- java网络编程 UDP通信协议实现局域网内文件的发送和接收
要实现两台内网下的机子进行通信,首先得知道接收方的内网IP,获取IP的方式:可以打开任务管理器的以太网进行查看: 如下 也可以通过 win+r 输入cmd ,然后输入 ipconfig 回车 进行 ...
- java 网络编程 UDP TCP
网络编程 网络编程主要用于解决计算机与计算机(手机.平板..)之间的数据传输问题. 网络编程: 不需要基于html页面就可以达到数据之间的传输. 比如: feiQ , QQ , 微信.... 网页编程 ...
- Java网络编程————UDP实现ThinkPad S5网络唤醒
功能要求:通过Java程序实现ThinkPad S5 笔记本网络唤醒 必备知识: 一.定义:网络唤醒,通过局域网.互联网或通讯网络,以有线网卡的形式,向目标电脑发送魔法包(Magic Packet), ...
- JAVA网络编程 -UDP篇(简单实现网络聊天)
通过UDP实现网络聊天 多线程实现UDP网络聊天 1. 编写UDP发送线程UdpSendThread import java.io.BufferedReader; import java.io.IOE ...
- c 语言 网络唤醒,Java网络编程————UDP实现ThinkPad S5网络唤醒-Go语言中文社区...
功能要求:通过Java程序实现ThinkPad S5 笔记本网络唤醒 必备知识: 一.定义:网络唤醒,通过局域网.互联网或通讯网络,以有线网卡的形式,向目标电脑发送魔法包(Magic Packet), ...
- Java网络编程UDP协议--模拟英雄联盟游戏聊天骂人变*--优化网络环境从你我做起
模拟英雄联盟聊天功能:实现客户端与服务器(一对一)的聊天功能,客户端首先发起聊天,输入的内容在服务器端和客户端显示,然后服务器端也可以输入信息,同样信息在客户端和服务端显示. 本案使用了正则表达式将接 ...
- [Java网络编程]UDP通信程序练习
代码如下: package UdpPracticePack;import java.io.BufferedReader; import java.io.IOException; import java ...
最新文章
- android保持服务不休眠(持续运行)以及唤醒屏幕的方法
- 关于ArrayList的几大问题,看完还不懂来打我!
- python单词翻译-完成自动查找翻译单词的python源代码
- gatewayproperties 是空_一个空手套白狼的商业模式
- bat 批处理获取时间语法格式
- Flume自定义Hbase Sink的EventSerializer序列化类
- c++11中的智能指针
- ef 关联依赖属性_基础巩固之:xmlns属性梳理
- java中的pane,Java中scroll pane的使用(一)– 动态改变其client的大小 | 学步园
- 深度学习知识体系总结(2021版)开放下载了!
- Gephi可视化(二)——Gephi Toolkit叫板Prefuse
- 放苗机器人_智能化种植系统所用苗盘摆收机器人的制作方法
- 六石管理学:头目们为什么要忽略产品质量
- SQL文件示例(Mysql)
- 电子设计(2)三极管稳压电路仿真分析
- java实现pdf转word_Java实现PDF转word
- python程序设计pdf机械出版_Python程序设计
- Google广告数据分析与优化总结
- Android键盘删除键问题
- Nuvoton I91200 语音MCU入门教程