TCP、UDP、XMPP、HTTP、SOCKET
2016-07-02 本文已影响137人
一字码
- TCP:安全的协议,能保证数据顺序和正确性,服务器和客户端能随时互发数据。如果服务器要主动发送数据给客户端,可以用这个协议
- UDP:非安全的协议,容易丢失数据,一般用于练级堆栈的游戏
- XMPP:给予XML通讯的协议,基于TCP发送XML数据,一般用于即时通讯(比如QQ、微信)
- HTTP:一般用于非实时链接的请求,只有客户端主动向服务器发送请求时,服务器才能返回数据给客户端
- SOCKET:套接口,可以使用TCP/DUP/XMPP通讯
数据请求编码: - 200表示一个正确的请求,206表示请求只加载了一部分,404表示网络请求的页面不存在;503表示服务器超时,400请求出错。
- 端点续传:客户端软件端点续传的值在下载或者上传时,将下载或者上传的文件人为的划分为几个部分,每个部分一个线程进行上传或者下载的,如果网络异常,可以从上传或者下载的部分重新上传或者下载未下载的部分,提高速度,节省时间。
创建串行队列加入异步任务
- 生成文件名,用文件名和存放路径生成文件路径
- 发送网络请求获取待生成文件大小
- 设定每次下载的字节数,循环下载(循环判断是剩余字节是否大于循环下载字节)
- 发送请求时设定http头的range范围,根据每次循环fromB和toB来设定
- 每次下载成功返回的数据写入到之前设定好的文件中
Socket链接与HTTP链接
由于通常情况下socket链接就是TCP链接,因此Socket链接一旦建立,通信双方即可开始相互发送数据内容,知道双方链接断开。但在实际网络应用中,客户端到服务器之间的通信往往需要穿越多个中间节点,例如路由器、网关、防火墙等,大部分防火墙默认会关闭长时间处于非活跃状态,而HTTP链接使用的是”请求-响应“的方式,不仅在请求时需要先建立链接,而且需要客户端向服务器发出请求后,服务器端菜能恢复数据。很多情况下,需要服务器端主动向客户端推送数据,保持客户端与服务器数据的实时与同步。此时若双方建立的是Socket链接,服务器就可以直接将数据传送给客户端,若双方建立的是HTTP链接,则服务器需要等到客户端发送一次请求后才能将数据传回给客户端,因此,客户端定时向服务器发送链接请求,不仅可以保持在线,同时也是在询问服务器是否有新的 数据,如果有就将数据传给客户端
HTTP给予socket做出来的,所有的网络功能都是基于socket做出来的。
文件存储
偏好设置存储