【读书笔记】iOS-网络-运行循环】的更多相关文章

运行循环是由类NSRunLoop表示的,有些线程可以让操作系统唤醒睡眠的线程以管理到来的事件,而运行循环则是这些线程的基本组件.运行循环是这样一种循环,可以在一个周期内调度任务并处理到来的事件.iOS应用中的每个线程最多只有一个运行循环.对于主线程来说,运行循环会为你开始,在应用委托applicationDidFinishedLaunchingWithOptions:主法调用后就可以访问了. 参考资料:<iOS网络高级编程-iPhone和iPad的企业应用开发>…
No1: 客户端与服务器的交互流程: 1)客户端执行网络请求,从URL中解析出服务器的主机名 2)将服务器的主机名转换成服务器的IP地址 3)将端口号从URL中解析出来 4)建立一条从客户端与Web服务器的TCP连接 5)客户端通过输出流向服务器发送一条HTTP请求 6)服务器向客户端回送一条HTTP响应报文 7)客户端从输入流获取报文 8)客户端解析报文,关闭连接 9)客户端将结果显示在UI上 No2: HTTP请求方式: 1)GET 获取服务器中某个资源,www.devtf.cn/artic…
一,在桌面上新建立一个工程,在ViewController.m中输入如下代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. NSMutableArray *firstArray=[[NSMutableArray alloc]init]; NSMutableArray *secondArray=[[NSMutab…
6.TLS/SSL 6.0. 传输层安全协议(TLS, Transport Layer Security)是如今web上应用最广泛的加密方法了,1999年成为互联网标准.前身是安全套接层(SSL, Secure Sockets Layer),1995年发布.现代web的许多基础协议都使用TLS来验证Serv身份,并保证传输过程中的数据. 6.0.1. TLS的使用及部署方法一直都在变化.每年都会出现针对TLS加密算法的新型攻击,也就出现了新的加密技术来应对攻击. 6.1. TLS无法保护的信息…
5. 网络数据与网络错误 应该如何准备需要传输的数据? 应该如何对数据进行编码与格式化? Py程序需要提供哪些类型的错误? 5.1. 字节与字符串 PC与网卡都支持将字节作为通用传输单元.字节将8比特的信息封装起来,作为信息存储的通用单位. 但是,RAM芯片与网卡不同,程序运行中,Py能隐藏RAM中的int.str.list.dict的具体实现细节,除非使用特殊调试工具,否则无法查看存储的字节,只能看到外部表现. 5.1.0. 网络通信的不同在于,socket接口将字节暴露了出来,字节无论对程序…
3.TCP:传输控制协议 第一个版本在1974年定义,建立在网际层协议(IP)提供的数据包传输技术之上.TCP使程序可以使用连续的数据流进行相互通信. 除非网络原因导致连接中断/冻结,TCP都能保证将数据流完好无缺地传输至接收方,不会发生丢包.重包.乱序问题. 传输文档/文件的协议都使用TCP,包括浏览网页.文件传输.电子邮件的所有主要机制,也是人机间进行长对话的协议的基础之一,如SSH/聊天协议 经过30年的改进,现代TCP相当精良,除了协议设计专家,很少有人能再改进现代TCP栈的性能,就算是…
2.UDP 2.0.数据包表示较短的信息,大小通常不会超过几千字节,在浏览器与服务器进行会话/电子邮件客户端与ISP的邮件服务器进行会话时,这些独立而小型的数据包是如何组成会话的呢? 2.0.1.IP协议只负责尝试将每个数据包传输至正确的机器,如果两个独立的应用程序要维护一个会话的话,还需要两个额外的特性.这两个特性是由IP层以上的协议来提供的. 2.0.1.1. 多路复用(multiplexing):为两台主机之间传送的大量数据包打上标签,就可以将表示网页的数据包和用于电子邮件的数据包分开来,…
作为一个 Java 为主语言的程序员,我偶尔也需要 用 C/C++ 写程序,在使用时让我很烦恼的一件事情就是需要对 new 出来的对象进行 delete/free 操作,我老是担心忘了这件事情,从而导致内存泄漏或溢出.所以,使用Java让我感觉很爽.但理解 Java 的内存区域是很有必要的.对于 Java 的内存,我们大多数的时候都只是在说堆内存(Heap)和栈内存(Stack),但 Java 内存区域的划分实际上更细,了解它可以让我们进一步的去了解这门语言. 运行时数据区 以下为 Java 运…
一.什么是运行时序列化 序列化的作用就是将对象图(特定时间点的对象连接图)转换为字节流,这样这些对象图就可以在文件系统/网络进行传输. 二.序列化/反序列化快速入门 一般来说我们通过 FCL 提供的 BinaryFormatter 对象就可以将一个对象序列化为字节流进行存储,或者通过该 Formatter 将一个字节流反序列化为一个对象. FCL 的序列化与反序列化 序列化操作: public MemoryStream SerializeObj(object sourceObj) { var m…
0.前言 代码目录: https://github.com/brandon-rhodes/fopnp/tree/m/py3 0.1.网络实验环境:理解客户端与服务器是如何通过网络进行通信的 每台机器通过一个Docker容器实现 0.1.1.调制解调器A和B下面的客户机(h1~h4)表示典型客户端场景,家庭或咖啡店(内部网络,不能访问互联网,如果要连互联网,都通过调制解调器IP进行连接) 0.1.2.调制解调器通过ISP网关连接广域网(主干路由器,负责将数据包发送至与之相连的网络) 0.1.3.e…