UDP是无连接协议,客户端和服务器通信之前不需要建立握手连接;

UDP没有应答机制,所以也没有重发机制,很大的可能会造成丢包、收到重复包、乱序的情况;

UDP可以实现局域网广播功能,即某个主机可以向所有在同个子网的主机发送数据,TCP不能广播,只能单播;

TCP是有连接协议,客户端发送数据给服务器之前需要三次握手;

TCP是有重发机制,当数据从A端传到B端后,B端会发送一个确认包(ACK包)给A端,告知A端数据我已收到!有重传机制,A端没有收到确认包会重新发送;

当网络差到一定程度了,TCP的优势反而会成为劣势,比如客户端和服务器要进行频繁的连接,重发。UDP对应用层的干预较少,灵活性大,可以有针对性的解决TCP在网络差的时候表现出的问题。

对于实时性要求比较高的时候,肯定是udp,因为实时性中传输大量的数据,丢一些包不妨碍实时性;

如果是网络非常好的情况,并且要数据完整的只能说优先考虑tcp,udp也是可以做到的,但是就比较麻烦需要去做拆包分包的帧的验证和判断,但是做好了绝对比tcp好,这是在公司人力资源允许的情况下;

因此综上所述:外网的传输优先考虑udp,实时性高的只能用udp,tcp开发相对简单,为了开发效率可以考虑;

如果是局域网的传输,想都别想就用tcp,无论是实时的还是大文件的都用tcp,因为局域网的网速是不用质疑的;

UDP ------ UDP 和 TCP 的对比的更多相关文章

  1. UDP与TCP的对比

    参考网址:https://blog.csdn.net/m0_38121874/article/details/82914634 1.报头(1)TCP协议报头TCP指传输控制协议,其报头格式如下: TC ...

  2. 在网络7层协议中,如果想使用UDP协议达到TCP协议的效果,可以在哪层做文章?(QQ 为什么采用 UDP 协议,而不采用 TCP 协议实现?)

    为了解决这题,可以具体看看下面这个讨论. 解灵运工程师 185 人赞同 某次架构师大会上那个58同城做即时通信的人说:原因是因为当时没有epoll这种可以支持成千上万tcp并发连接的技术,所以他们使用 ...

  3. 为什么 UDP 有时比 TCP 更有优势

    随着网络技术飞速发展,网速已不再是传输的瓶颈,UDP协议以其简单.传输快的优势,在越来越多场景下取代了TCP,如网页浏览.流媒体.实时游戏.物联网. 1.网速的提升给UDP稳定性提供可靠网络保障 CD ...

  4. Java基础之UDP协议和TCP协议简介及简单案例的实现

    写在前面的废话:马上要找工作了,做了一年的.net ,到要找工作了发现没几个大公司招聘.net工程师,真是坑爹呀.哎,java就java吧,咱从头开始学呗,啥也不说了,玩命撸吧,我真可怜啊. 摘要: ...

  5. 为什么UDP有时比TCP更有优势?

    随着网络技术飞速发展,网速已不再是传输的瓶颈,UDP协议以其简单.传输快的优势,在越来越多场景下取代了TCP.1.网速的提升给UDP稳定性提供可靠网络保障 CDN服务商Akamai(NASDAQ: A ...

  6. UDP 区别于 TCP 的特点

    TCP 我们了解得多了,所以今天我们站在 UDP 的角度,探讨一下 UDP 区别于 TCP 的特点. 1. 面向无连接 UDP 比 TCP 简单得多,不需要“三次握手”来建立连接,直接把内容发送出去. ...

  7. 计算机网络之传输层(传输层提供的服务及功能概述、端口、套接字--Socket、无连接UDP和面向连接TCP服务)

    文章转自:https://blog.csdn.net/weixin_43914604/article/details/105451022 学习课程:<2019王道考研计算机网络> 学习目的 ...

  8. UDP ------ UDP 详解

    原文地址:https://zhuanlan.zhihu.com/p/25622691 3. UDP疑难杂症 3.1 UDP的传输方式:面向报文 面向报文的传输方式决定了UDP的数据发送方式是一份一份的 ...

  9. TCP ,UDP概念和TCP三次握手连接 的知识点总结

    OSI 计算机网络7层模型 TCP/IP四层网络模型 传输层提供应用间的逻辑通信(端到端),网络层提供的是主机到主机的通信,传输层提供的是可靠服务. TCP 中常说的握手指的是:连接的定义和连接的建立 ...

随机推荐

  1. 2017战略No.2:开始电子化记账

    一.懒散的4年 大学毕业后,就没有怎么记账了. 自己花的钱,心里有个大概,但是不能算得很具体. 比如说,2016年,又没有攒几个钱,心里多少有点压抑. 大脑去算账,只能算房租吃饭等金额较大的开销,更多 ...

  2. 【Qt】QLabel实现的圆形图像

    本篇只描述圆形图像的两种实现方式,动态阴影边框如下: [Qt]QLabel之动态阴影边框 目前实现的效果如下: 左右两边实现的方式不同: 右边比较简单 min-width: 100px; max-wi ...

  3. Jenkins控制台输出乱码

    一.问题详情 jenkins构建mav任务,在控制台显示乱码: 二.原因分析 1. 查看系统编码和tomcat的编码都正常 # grep encoding /usr/local/tomcat/conf ...

  4. html元素双击事件触发机制猜想及疑惑

    今天有个同事遇到一个奇怪的问题,我照着他的代码做了一些简化写了这个demo <!DOCTYPE html> <html> <head> <style type ...

  5. nodejs 监控代码变动实现ftp上传

    被动模式下 //https://www.npmjs.com/package/watch //文件同步功能 var watch = require('watch'); var path = requir ...

  6. GitHubDesktop权限问题解决办法

    Desktop对于管理仓库非常方便.实用 很多人实用Desktop将仓库项目clone到本地 但是更新后同步时出现了如下权限错误: Error Authentication failed. You m ...

  7. kafka学习总结之kafka简介

    kafka是一个分布式,基于subscribe-publish的消息系统 特性:高吞吐量.低延迟.可扩展性.持久性(消息持久化到本地磁盘).可靠性.容错性(n个副本,允许n-1个节点失败).高并发(支 ...

  8. 《Linux内核分析》第二周学习小结 操作系统是如何工作的?

    郝智宇   无转载   <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.函数调用堆栈: 1.计算机是 ...

  9. 基于SSH框架的网上书店系统开发的质量属性

    基于SSH框架的网上书店系统开发的质量属性 对于我的基于SSH框架的网上书店系统的开发要实现的质量属性有可用性.可修改性.性能.安全性.易用性和可测试性. 1.对于可用性方面的战术: 可用性(Avai ...

  10. “吃神么,买神么”的第一个Sprint计划(结束)

    “吃神么,买神么”项目Sprint计划 ——5.28  星期四(第八天)第一次Spring计划结束   第一阶段Spring的目标以及完成情况: 时间:5月21号~5月28号(7天) 目标:第一阶段结 ...