网络基础
1:三次握手(创建网络连接)
三次握手示意图.jpg通过Wireshark抓包可以看到三次握手的过程。这里就不在截图看了。
A与B实现相互连接的最少次数是三次。A先发送请求告诉B我要跟你连接了啊。B返回可以之后A在发送一条确认连接。
2:四次挥手(断开网络连接)
四次挥手.png四次挥手的过程就是A说要跟B断开连接,B说行,B断开连接。A断开。
断开连接需要相互断开得到回应。会存在断开连接不完全的情况。例如:超负荷负载,没时间响应分手。这时候就会加心跳包监听让对方知道自己还活着。
3:七层协议
1)应用层 2)表示层 3)会话层 4)传输层 5)网络层 6)数据链路层 7)物理层
[图片上传中...(七层协议.jpg-445d2e-1565869716505-0)]
上图可见发送端应用层传输报文数据过来,传输层添加TCP首部,到网络层添加IP首部,到链路层添加以太网首部。经过接收端的链路层去掉以太网首部,网络层去掉IP首部,传输层去掉TCP首部。得到原始数据到接收端接受。
4:网络请求
1)URLSession基本网络请求
URLSession.shared.dataTask(with: url) { (data, response, error) in
if error == nil {
print("请求成功\(String(describing: response))" )
}
}.resume()
注:一定要.resume()调用。
2)正常写网络请求
let configuration = URLSessionConfiguration.background(withIdentifier: self.createID())
let session = URLSession.init(configuration: configuration, delegate: self, delegateQueue: OperationQueue.main)
session.downloadTask(with: url).resume()
URLSessionConfiguration
有三种模式
open class var `default`: URLSessionConfiguration { get }
open class var ephemeral: URLSessionConfiguration { get }
@available(iOS 8.0, *)
open class func background(withIdentifier identifier: String) -> URLSessionConfiguration
1)default
:默认模式多了一个沙盒缓存器 缓存证书。
2)ephemeral:不缓存证书,所有内容的生命周期与session相同,当session无效时,所有内容自动释放。
3)background:后台模式,进入后台可下载。
获取沙盒大小和内存大小的方法
let configuration1 = URLSessionConfiguration.default
let configuration2 = URLSessionConfiguration.ephemeral
print("沙盒大小: \(String(describing: configuration1.urlCache?.diskCapacity))")
print("内存大小: \(String(describing: configuration1.urlCache?.memoryCapacity))")
print("沙盒大小: \(String(describing: configuration2.urlCache?.diskCapacity))")
print("内存大小: \(String(describing: configuration2.urlCache?.memoryCapacity))")
5:进入Alamofire
pod
导入Alamofire
target '****' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
pod 'Alamofire', '~> 4.8.0'
# Pods for 002-Alamofire初探
网络请求具体实现
let urlStr = "http://apis.haoservice.com/weather/city"
Alamofire.request(urlStr)
.responseJSON { (response) in
print(response)
}
就是这么简单就讲string请求回数据转成了json。
网友评论