UDP协议的特点。

1.UDP是一个无连接协议,传输数据之前接收端和发送端之间不建立连接。

想传输数据的时候就抓取数据扔出去,不监控是否被正确和全面的接受到。

2.因为不需要建立连接,也就不需要维护连接状态,会因此一台发送机器可以向多台接收机器传输相同的信息,只需要管理IP和接口。

3.UDP具有较好的实时性,效率高。原因在于UDP在传输数据的时候不建立逻辑连接,也不想TCP那样对数据进行检查。

UDP的使用场景

网络游戏,视频聊天和语音聊天类对实时性要求比较强的应用软件。

例如:在聊天的过程中如果出现丢包现象的话,充其量觉得有些卡顿,一般情况下要求对方从复一遍既可,不影响聊天的整体效果。

并且网络状况较好的时候,这种情况很少发生。

public class Client_Udp {

    public static void main(String[] args) throws Exception {
System.out.println("数据准备发送中");
//1、使用DatagramScoket 指定端口 创建发送端
DatagramSocket dgs =new DatagramSocket(8888); //2、准备数据一定转成字节数组
String data="数据传输成功";
byte[] datas=data.getBytes(); //3、封装成DatagraPacket包裹,需要指定目的地
DatagramPacket dgp =new DatagramPacket(datas, 0, datas.length, new InetSocketAddress("localhost",9999)); //4、发送包裹Send()
dgs.send(dgp); dgs.close();
}
public class Server_Udp {

    public static void main(String[] args) throws Exception {
System.out.println("数据接收中!"); //1.使用DatagramSocket创建端口,指定接收端。
DatagramSocket dgs=new DatagramSocket(9999); //2.准备容器封装成DatagramPacket包裹
byte[] container =new byte[1024*60];
DatagramPacket dgp =new DatagramPacket(container, 0,container.length); //3.阻塞式接受包裹receive
dgs.receive(dgp); //4.分析数据
byte[] data=dgp.getData();
String st=new String(data,0,data.length);
System.out.println(st); dgs.close();

关于UDP协议的更多相关文章

  1. TODO:Golang语言TCP/UDP协议重用地址端口

    TODO:Golang语言TCP/UDP协议重用地址端口 这是一个简单的包来解决重用地址的问题. go net包(据我所知)不允许设置套接字选项. 这在尝试进行TCP NAT时尤其成问题,其需要在同一 ...

  2. 闲来无事,写个基于UDP协议的Socket通讯Demo

    项目一期已经做完,二期需求还没定稿,所以最近比较闲. 上一篇写的是TCP协议,今天写一下UDP协议.TCP是有连接协议,所以发送和接收消息前客户端和服务端需要建立连接:UDP是无连接协议,所以发送消息 ...

  3. UDP协议开发

    UDP是用户数据报协议(User Datagram Protocol,UDP)的简称,其主要作用是将网络数据流量压缩成数据报形式,提供面向事务的简单信息传送服务.与TCP协议不同,UDP协议直接利用I ...

  4. 基于UDP协议模拟的一个TCP协议传输系统

    TCP协议以可靠性出名,这其中包括三次握手建立连接,流控制和拥塞控制等技术.详细介绍如下: 1. TCP协议将需要发送的数据分割成数据块.数据块大小是通过MSS(maximum segment siz ...

  5. TCP协议与UDP协议的区别

    TCP协议与UDP协议的区别(转) 首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! ...

  6. 采用UDP协议的PIC32MZ ethernet bootloader

    了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 经过千辛万苦,今天终于 ...

  7. 采用UDP协议实现PIC18F97J60 ethernet bootloader

    了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). TCP/IP Stac ...

  8. 网络编程——基于TCP协议的Socket编程,基于UDP协议的Socket编程

    Socket编程 目前较为流行的网络编程模型是客户机/服务器通信模式 客户进程向服务器进程发出要求某种服务的请求,服务器进程响应该请求.如图所示,通常,一个服务器进程会同时为多个客户端进程服务,图中服 ...

  9. Linux内核--网络栈实现分析(九)--传输层之UDP协议(下)

    本文分析基于Linux Kernel 1.2.13 原创作品,转载请标明http://blog.csdn.net/yming0221/article/details/7549340 更多请查看专栏,地 ...

  10. Linux内核--网络栈实现分析(五)--传输层之UDP协议(上)

    本文分析基于Linux Kernel 1.2.13 原创作品,转载请标明出处http://blog.csdn.net/yming0221/article/details/7532512 更多请看专栏, ...

随机推荐

  1. reactnative遇到的问题总结

    1.View中出现文本报错,View等标签中不能出现字符串文本,字符串文本需要包在Text中,遇到如下错误 下面是问题代码: let rightTitle = this.props.rightTitl ...

  2. 【java异常】org.springframework.web.util.NestedServletException: Handler processing failed;Can't connect to X11 window server using 'localhost:10.0' as the value of th

    tomcat工程中创建二维码失败.抛出异常Can't connect to X11 window server using 'localhost:10.0' as the value of th 因为 ...

  3. Scrapy笔记06- Item Pipeline

    Scrapy笔记06- Item Pipeline 当一个item被蜘蛛爬取到之后会被发送给Item Pipeline,然后多个组件按照顺序处理这个item. 每个Item Pipeline组件其实就 ...

  4. date命令的FORMAT中输入空格的几种方法

    1.date +%Y-%m-%d\ (一个空格)%H:%M:%S 此命令中用了转义字符 \ ,将空格转义出来 2.date +%Y-%m-%d'  '%H:%M:%S 此命令中的单引号内可以是一个或多 ...

  5. C语言实现Socket简单通信

    环境是linux,不过应该没什么影响,因为只用到了socket的基本用法,没有涉及pthread等. 分为服务器端和客户端,服务器端监听端口发来的请求,收到后向客户端发送一个Hello World,客 ...

  6. mysql(七)查询基本语法

    连接 外连接 如表-------------------------------------------------table1 | table2 |------------------------- ...

  7. leetcode 111. 二叉树的最小深度

    题目描述: 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null,null, ...

  8. ASP.NET Core Swagger接入使用IdentityServer4 的 WebApi

    写在前面 是这样的,我们现在接口使用了Ocelot做网关,Ocelot里面集成了基于IdentityServer4开发的授权中心用于对Api资源的保护.问题来了,我们的Api用了SwaggerUI做接 ...

  9. Hive常见错误

    1.root is not allowed to impersonate root 修改etc/hadoop/core-site.xml,增加如下配置: <property> <na ...

  10. 爬虫(一)基础知识(python)

    1.1 定义 网络爬虫,也叫网络蜘蛛(Web Spider),如果把互联网比喻成一个蜘蛛网,Spider就是一只在网上爬来爬去的蜘蛛.网络爬虫就是根据网页的地址来寻找网页的,也就是URL.举一个简单的 ...