小结

1. 数组扁平化去重排序

已知如下数组:

var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];

编写一个程序将数组扁平化去并除其中重复部分数据,最终得到一个升序且不重复的数组

console.log([...new Set(arr.flat(Infinity))].sort((a,b) =>b-a))
/*
* 利用ES6新特性去重 
* 2.利用flat()实现数组扁平化 flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。
*/

2. 三次握手

TCP三次握手:

  • 1、客户端发送syn包到服务器,等待服务器确认接收。
  • 2、服务器确认接收syn包并确认客户的syn,并发送回来一个syn+ack的包给客-户端。
  • 3、客户端确认接收服务器的syn+ack包,并向服务器发送确认包ack,二者相互建立联系后,完成tcp三次握手。
    四次握手就是中间多了一层 等待服务器再一次响应回复相关数据的过程
位码即tcp标志位,
有6种标示:
SYN(synchronous建立联机) 
ACK(acknowledgement 确认) 
PSH(push传送)
FIN(finish结束)
RST(reset重置) 
URG(urgent紧急)
Sequence number(顺序号码) 
Acknowledge number(确认号码)

三次握手之所以是三次是保证client和server均让对方知道自己的接收和发送能力没问题而保证的最小次数。

第一次client => server 只能server判断出client具备发送能力
第二次 server => client client就可以判断出server具备发送和接受能力。此时client还需让server知道自己接收能力没问题于是就有了第三次
第三次 client => server 双方均保证了自己的接收和发送能力没有问题

其中,为了保证后续的握手是为了应答上一个握手,每次握手都会带一个标识 seq,后续的ACK都会对这个seq进行加一来进行确认。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、Tcp/ip五层网络协议 互联网协议按照功能不同 分为OSI七层模型 或者Tcp/Ip 五层模型 或者 Tcp...
    feifei_fly阅读 294评论 0 0
  • 1 预备知识 要了解TCP通信,必须得对TCP报文格式熟悉,下图是TCP报文格式,简单说下跟TCP连接三次握手和T...
    风之化身呀阅读 1,402评论 0 0
  • 一、HTTP协议的主要特点 简单快速:每个资源URI都是固定的 灵活:头部有数据类型,可以完成不同类型传输 无连接...
    番茄沙司a阅读 944评论 0 5
  • 解决端口使用代理问题 保持前行查询是否使用了代理:git config --global http.proxy取消...
    9fe5164d41b8阅读 538评论 0 0
  • http协议是指计算机通信网络中两台计算机之间进行通信所必须共同的规定和规则,超文本传输协议(http)是一种“通...
    刘巍l阅读 235评论 0 0

友情链接更多精彩内容