用udp协议通讯时怎样得知目标机是否获得了数据包?_和相亲对象聊天,你属于UDP还是CDP?...

有人说

和相亲对象聊天就像ping服务器

每发一条消息

就像发出一条Ping命令

等待对方回复从而得到响应速度结果

但是难受的是

这个响应速度永远无法做到秒级

少点几分钟

多则几十分钟

甚至几十个小时才有响应

有时候真希望对方不要响应了

就能判断此处Ping不通

从此断了念想...

你是否也像这位旁友一样苦恼?

也许是你的TCP方式

对这位女生不管用啦

换换UDP方式,也许有奇效~

今天七夕节

小编就来给你支几招

顺便测一下和相亲对象聊天的你

属于哪种类型

首先了解什么是TCP?

TCP的中文名是传输控制协议(Transmission Control Protocol),其目的是提供可靠的数据传输,并在相互进行通信的设备或服务之间保持一个虚拟连接。

b5183ddf9ddb05a142edef9b2e11caf7.png

当一台计算机想要与另一台计算机通讯时,两台计算机之间的通信需要畅通且可靠,这样才能保证正确收发数据

例如,当你想查看网页或查看电子邮件时,希望完整且按顺序查看网页,而不丢失任何内容。当你下载文件时,希望获得的是完整的文件,而不仅仅是文件的一部分,因为如果数据丢失或乱序,都不是你希望得到的结果,于是就用到了TCP。

关于TCP,最著名的是它的三次“握手”,也就是 一个TCP连接必须要经过三次对话才能建立起来。

第一次握手

客户端向服务端发送连接请求报文段。该报文段中包含自身的数据通讯初始序号。请求发送后,客户端便进入SYN-SENT状态。

第二次握手

服务端收到连接请求报文段后,如果同意连接,则会发送一个应答,该应答中也会包含自身的数据通讯初始序号,发送完成后便进入SYN-RECEIVED状态。

第三次握手

当客户端收到连接同意的应答后,还要向服务端发送一个确认报文。客户端发完这个报文段后便进入ESTABLISHED状态,服务端收到这个应答后也进入ESTABLISHED状态,此时连接建立成功。

三次“对话”的目的是使数据包的发送和接收同步, 经过三次“对话”之后,客户端才向服务端正式发送数据。

什么是UDP?

再来说UDP。UDP的中文名是用户数据报协议(User Datagram Protocol),在网络中它与TCP协议一样用于处理数据包。

UDP最大的特点是它是一种无连接的协议,所以在传递数据时非常快,并且当报文发送之后,是无法得知其是否安全完整到达的。

ec8a7c1c5ea8f58e9490979069bc2109.png

你是TCP还是UDP?

科普部分结束,我们进入正题。

为了方便理解什么是TCP和UDP,接下来我们请好人A好人B分辨扮演TCP和UDP,然后请女神来扮演服务端。这样你就明白两种和相亲对象的聊天方式,区别在哪里了。

首先是TCP:

好人A很喜欢他的女神,但是女神对他爱理不理,于是好人A想办法打听到了女神喜欢吃的零食,想通过美食来拉近两者的关系,而且好人A办事比较周到,在送给女神零食前,先礼貌地问女神:

b62fc5226dcafa96366d1601163f4037.png

这就是TCP,好人A得先跟女神“三次握手”,确定女神在家并且想要零食再送。可以说是一位礼貌又得体的暖男

再来看看UDP:

好人B也喜欢这位女神,虽然女神对他爱理不理,但好人B总是很有自信的样子。有一天,好人B得知女神喜欢吃零食,但对于喜欢吃哪种零食,好人B并不关心,所以买了好多好多零食送给女神,准备直接送过去!

faeeef2030ee278a3c7fcc67fc21a934.png

这就是UDP,在得知女神的地址后,立即发送大量数据(零食),但是数据并不可靠(里面也有女神不喜欢吃的零食)。可以说是一位浑身散发着自信的土豪

听完上面的比喻,你该明白TCP和UDP的区别的了吧。总结一下

由TCP的三次握手可以看出,TCP使用面向连接的协议。面向连接意味着通信设备应在传输数据之前建立连接,并在传输数据之后关闭连接。因此TCP是可靠的,因为它可以确保将数据传送到目标路由器,从而适合要求可靠传输的应用,例如文件传输

但另一方面,TCP传输数据速度比UDP慢,并且连接对象个数只能是一对一通信,因此从效率上来说比UDP要差。

而UDP由于是一种无连接的协议,维护连接和终止连接没有开销,因此UDP不能保证将数据传送到目标,从而损失了可靠性

但同时UDP不止支持一对一的传输方式,同样支持一对多,多对多,多对一的方式,也就是说UDP提供了单播,多播,广播的功能,因此UDP对于广播和多播类型的网络传输非常有效。

bd9db5c9ff1106677c0b329457c9d4c2.png

专情暖男的好人A花心土豪的好人B

你是哪种类型呢?

当然,如果对方迟迟没有响应

也不一定要从自己身上找问题

也许只是对方服务器过载,Ping的人太多

你排队列后面去了

开个玩笑~

七夕节的今天

祝有情人终成眷属

还是单身的你,明天脱单!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/533253.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三星w系列vip服务器,高端人士候机专属特权 三星W2017一张行走的VIP卡

原标题:高端人士候机专属特权 三星W2017一张行走的VIP卡17年春运时间为1月13日至2月21日,如今春节假期已过,亿万人开始踏上了离乡之路追寻梦想。每年春运都给交通带来巨大压力,今年为期40天的春运预计全国发送旅客或超29亿人次。铁…

阿酷快捷键怎么使用_必须收藏!Linux用户必须知道的常用终端快捷键

点击上方[全栈开发者社区]→右上角[...]→[设为星标⭐]简介:以下是一些每个 Linux 用户必须使用的键盘快捷键。使用命令行时,这些 Linux 快捷键将提升你的工作效率。你知道什么把专业用户和普通用户分开的吗?掌握键盘快捷键。好的&#xff01…

checkbox ajax 不选中的值,php – 无法通过ajax传递checkbox的值

我有从数据库收到的表://$id $_SESSION[staff_id];$teamResult getQuarter($leader_id);$count1 0;if (mysqli_num_rows($teamResult) > 0){?>1st Quarterwhile($row mysqli_fetch_array($teamResult)){$staff_id $row[staff_id];$username $row[usern…

3dmax天光渲染设置_【扮家家云渲染效果图】3dmax测试全局照明效果|干货教程...

首先打开场景文件,首先按快捷键8,打开环境和效果控制面板。下面有一个全局照明这样一个选项卡,有染色、级别、环境光三个参数。默认情况下染色为白色,级别为1,环境光为黑色。此时我们可以单击渲染,查看一下…

手写table用ajax遍历,原生js把数据循遍历到前端table

用前端框架去给表格赋值简直不要太容易和简单。但是原生js就会复杂一些了。特别是按钮事件的那个(“ )和 (’)特别让人脑瓜子疼。最近做了一个功能,里面用的就是原生js实现。写在js里面的代码:(用的ajax请求将文件保存到服务器,返回的数据遍历…

centos7下载安装mysql步骤_Linux-centos7安装mysql步骤

Centos7.3 yum安装MySQL5.7.25扩展:在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。1 下载并安装MySQL官方的 Yum Repository[rootlocal…

mysql 常用命令的使用_MySQL基本命令

基操操作命令创建数据库CREATE DATABASE 数据库名;指定要操作的数据库USE 数据库名;创建数据表CREATE TABLE 数据表名;查看数据表SHOW CREATE TABLE 数据表名;使用DESCRIBE语句查看数据表DESCRIBE 数据表名;为数据表重…

python模糊图像清晰化_视频模糊图像处理

随着科学技术的不断发展和进步以及人们的安防意识不断加强,人们对于安防技术的要求越来越高。电子监控在许多领域中都得到了广泛的应用,如交通监控、军事侦查、公共场所安全防范等。清晰的图像能够准确地锁定犯罪证据和犯罪嫌疑人,能够清晰地…

mysql分页 disti_MySql查询性能优化

慢查询判定1.开启慢查询日志记录执行时间超过long_query_time 秒的sql语句2.通过show processlist命令查看线程执行状态3.通过explain解析sql了解执行状态慢查询优化是否向服务器请求列不必要的数据查询不需要的记录(limit),多表关联返回全部列,总是取出…

python利用matplotlib做饼图_python利用matplotlib库绘制饼图的方法示例

介绍matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。它的文档相当完备,并且 Gallery页面 中有上百幅缩略图&#xff0…

react同步请求_React中setState同步更新策略

setState 同步更新我们在上文中提及,为了提高性能React将setState设置为批次更新,即是异步操作函数,并不能以顺序控制流的方式设置某些事件,我们也不能依赖于this.state来计算未来状态。典型的譬如我们希望在从服务端抓取数据并且…

DVWA设置mysql_dvwa安装、配置、使用教程(Linux)

一、搭建LAMP环境二、安装DVWA2.1 下载dvwa2.2 解压安装将下载的应用解压到apache默认的主目录/var/www/html:unzip DVWA-master.zip -d /usr/www/html2.3 启用功能dvwa上的漏洞,需要些刻意的配置才能被利用。访问:http://172.0.0.1/dvwa如下…

java jdbc rowset_JAVA基础知识之JDBC——RowSet

RowSet概念在C#中,提供了一个DataSet,可以把数据库的数据放在内存中进行离线操作(读写),操作完成之后再同步到数据库中去,Java中则提供了类似的功能RowSet.RowSet接口继承自ResultSet接口。与ResultSet相比,RowSet默认…

java 排序原理_简单选择排序算法原理及java实现(超详细)

简单选择排序的原理简单选择排序的原理非常简单,即在待排序的数列中寻找最大(或者最小)的一个数,与第 1 个元素进行交换,接着在剩余的待排序的数列中继续找最大(最小)的一个数,与第 2 个元素交换。以此类推,一直到待排…

ckeditor java 上传_CKEditor粘贴图片自动上传到服务器(Java版)

环境:java,springmvc,ckeditor,tomcat,maven情况:在做项目的时候发现本地图片粘贴到ckeditor中,img标签的src中的值是“data:image/png;base64,”开头的,后面会跟一串字符串,图片越大字符串越长,这样的图片…

java 百度poi_Android应用中使用百度地图API之POI(三)

先看执行后的图吧:POI(Point of Interest)。中文能够翻译为“兴趣点”。在地理信息系统中。一个POI能够是一栋房子、一个商铺、一个邮筒、一个公交站等 具体:http://developer.baidu.com/map/sdkandev-4.htm主要应用 MKSearch 类:com.baidu.…

java第四次上机作业_第十java上机作业

第十java上机作业 第七章上级作业 7.1 public class Rectangle { double width1; double height1; String color“white“; public Rectangle(){} public Rectangle(double width,double height,String color) { this.widthwidth; this.heightheight; this.colorcolor; } publi…

java文件编码格式环境变量_Jenkins maven 构建乱码,修改file.encoding系统变量编码为UTF-8...

一切都是windows的控制台默认编码GBK问题情景:使用jenkins构建,console 输出的中文乱码。代码编码格式是utf-8,因为Jenkins会默认读取当前系统的编码格式,导致构建日志乱码和selenium自动化测试输入的中文乱码。控制台输出乱码摸索…

java分布式会话redis_详解springboot中redis的使用和分布式session共享问题

对于分布式使用NginxTomcat实现负载均衡,最常用的均衡算法有IP_Hash、轮训、根据权重、随机等。不管对于哪一种负载均衡算法,由于Nginx对不同的请求分发到某一个Tomcat,Tomcat在运行的时候分别是不同的容器里,因此会出现session不…

python3.8使用方法_python3.8新特性

python3.8新特性Python3.8稳定版已发布,官网发布了一篇介绍新特性的文章,在此记录一下。新增赋值操作符:作用:把较大表达式中的某部分值赋给变量,因为看起来像海象的眼睛和牙齿,: 操作符有个特别的名字:海象操作符范例…