用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请求将文件保存到服务器,返回的数据遍历…

dbv mysql_MariaDB与MySQL对比 --- 对分布式事务的支持

本文最初于2016年底发表在我的个人微信公众号里面,现略有修订后发布在这里。本文的技术信息针对的是mysql-5.7.x和mariadb-10.1.9。MariaDB和MySQL两者对分布式事务的支持有所不同,总的来说MySQL的支持更好,是完备的和可靠的(尽管后来也陆续发…

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 数据表名;为数据表重…

织梦数据库支持mysql5.7_最新织梦DEDECMS5.7数据库说明文档

最新织梦DEDECMS5.7数据库说明文档:dede_arctype 栏目管理表ID int(10) 栏目编号(自动编号)reID int(10) 父栏目编号topID int(10)sortrank smallint(6) 排序编号typename varchar(30) 栏目名称typedir varchar(100) 栏目目录isdefault smallint(6) 栏目列表选项(1链…

mysql ddl dql_MySQL的DDL和DML及其DQL数据库操作

数据库的基本概念1. 数据库的英文单词: DataBase 简称 : DB2. 什么数据库?* 用于存储和管理数据的仓库。3. 数据库的特点:1. 持久化存储数据的。其实数据库就是一个文件系统2. 方便存储和管理数据3. 使用了统一的方式操作数据库 -…

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

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

mysql分页 disti_MySql查询性能优化

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

java atlas mysql_使用Atlas实现MySQL读写分离+MySQL-(Master-Slave)配置

参考博文:MySQL-(Master-Slave)配置 本人按照博友北在北方的配置已成功 我使用的是 mysql5.6.27版本。配置中 又进一步对mysql5.6的日志进行了了解 :mysql日志详细解析1.安装注意:只能安装在64位的Linux操作系统上,CentOS官方建…

mysql dts_云树·DTS - 产品系列 - 分布式数据库系统_MySQL数据库性能优化-爱可生...

灾备复制实现本地数据中心MySQL数据库高效复制及异地数据中心MySQL数据库容灾转移,从而确保在主数据中心故障或灾难时,备用数据中心数据的最大完整性。该服务通过对MySQL二进制日志进行解析、过滤、合并、压缩、并行回放等技术,准实时的在主备…

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如下…

eclipse mysql jndi_Java开发网 - tomcat5配置jndi的问题 (jdbc:comp is not bound in this Context)...

Posted by:returnerPosted on:2004-11-09 22:42tomcat5配置jndi的问题;斑竹高手们来看看啊,情况紧急!!!!!!!!10万分感谢这个问题我是搜索出来的,我也遇到了同…

java正则效率_善用Pattern提高你的应用处理正则表达式的效率(Java)

举个简单了例子,在一个需要用于注册登录的b/s模式的应用中,在浏览器验证用户注册表单的合法性是必须的,但你为了防止hacker,在服务器再验证一次肯定也是必须的。题目:在服务器端验证邮箱是否合法:通常你可能…

java jwindow 键盘_各位老哥求救,JWINDOW无法接收到键盘监听

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼下面po代码啊。这是我的类。class DragWindow extends JWindow{int positionX;int positionY;public DragWindow() {try {jbInit();}catch(Exception e) {e.printStackTrace();}}private void jbInit() throws Exception {this.add…