网络基础

简单了解网络协议等基础网络知识

# 五层因特网协议

# 应用层(application-layer)

应用层的任务是通过应用进程之间的交互来完成特定的网络应用。应用层协议是应用进程间通信交互的规则。互联网中应用层的协议有很多,有域名系统DNS,万维网应用HTTP,支持电子邮件的SMTP协议。我们把应用协议层交互的数据称为报文。

# 传输层(transport-layer)

传输层的主要任务就是负责向两台主机进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文

# TCP

1、TCP 是面向连接的(需要先建立连接); 2、每一条 TCP 连接只能有两个端点,每一条 TCP 连接只能是一对一; 3、TCP提供可靠交付的服务。通过TCP连接传送的数据,无差错、不丢失、不重复、并且按序到达; 4、TCP 提供全双工通信。TCP 允许通信双方的应用进程在任何时候都能发送数据。TCP 连接的两端都设有发送缓存和接收缓存,用来临时存放双方通信的数据; 5、面向字节流。TCP 中的“流”(Stream)指的是流入进程或从进程流出的字节序列。

# UDP

1、UDP 是无连接的; 2、UDP 是尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态; 3、UDP 是面向报文的; 4、UDP 没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如直播,实时视频会议等); 5、UDP 支持一对一、一对多、多对一和多对多的交互通信; 6、UDP 的首部开销小,只有 8 个字节,比 TCP 的 20 个字节的首部要短。

# 网络层

网络层的任务是选择合适的网间路由和交结点,保障计算机通信的数据及时送达。把传输层产生的报文段或用户数据报封装成分组和包进行传送。

一般简称问链路层。两台主机间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的协议。

# 物理层(physical-layer)

...

# HTTP、HTTPS

JavaScript中的异步编程

JavaScript中的异步编程 ---- Promise

Flutter中的手势处理和通知

手势处理是应用的必要内容, Flutter中对于手势事件的识别有两种,第一种是基础的原始指针事件(pointer),它描述的是屏幕上的指针(鼠标、触摸)的位置和移动;第二种是由单个或多个指针组成的一个动作,例如拖动、缩放、双击、长按等。