Wireshark 抓包分析 TCP

本文使用mac电脑Wireshark抓包,并对一次http链接做简单的分析 Wireshark抓包 打开Wireshark选择本机mac的网卡,输入过滤条件筛选端口、源地址和目的地址: tcp.port == 80 && (ip.dst==111.231.221.195 || ip.src=...

阅读更多

runtime

Runtime Runtime是iOS动态特性的重要体现,也是iOS的内部核心之一。几乎所有的oc代码,底层都以基于runtime。其源码由c和汇编语言编写。 本文以及接下来的runtime的文章都是基于objc-750版本的源码 前沿 一些常见而重要的关键字: typedef struct objc_o...

阅读更多

IO多路复用

Socket基础知识: 流:一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。不管是文件,还是套接字,还是管道,我们都可以把他们看作流。 阻塞和非阻塞: 阻塞:阻塞调用是指调用结果返回之前,当前线程会被挂起。函数只有在得到结果之后才会唤醒返回。 非阻塞:非阻塞和阻塞的概念相对应,...

阅读更多

响应链与手势

事件响应链 通过事件传递找到最合适的view为第一响应者,其父view或viewcontroller则为第二响应者,以此递推,形成响应链。即pointInside返回true的view加上它们的控制器、UIWindow和UIApplication共同构成响应链。响应链的作用是找到一个和多个合适的view顺序的响...

阅读更多

什么是域名

今天突然看到个问题, 什么是域名?当时只能答曰网址,回家google一会,现在列出一些基本概念 什么是DNS? DNS是:域名服务器(Domain Name Server)。在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,...

阅读更多

Thrift

1 Thrift: 文档补充 thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Go,Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Nod...

阅读更多

编译器和解释器、静态库和动态库基本概念

解释器与编译器 解释器:直接执行用编程语言编写的指令的程序 编译器:把源代码转换成(翻译)低级语言的程序 实际上,解释器可以将源语言转换成某种中间形式(或语言)来加速执行,这就是这类语言通常依赖于虚拟机的原因,而这自然会导致一些问题: 所有使用虚拟机的语言都是解释型语言吗? 他们其实...

阅读更多

Swift(class)

类 简介 swift的类和c++的类基本相似,这里整理不同的地方,以突显其独有特性 1.属性 swift class的属性有三种:存储属性,计算属性和类型属性。存储属性存储常量或变量作为实例的一部分,而计算属性计算(不是存储)一个值。类型属性则直接作用于类型本身,而不是类的实例。 一个典型例子: str...

阅读更多