网络
stefan1240
这个作者很懒,什么都没留下…
展开
-
socket阻塞与非阻塞,同步与异步
作者:huangguisu1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步: 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。例如普通B/S模式(同步转载 2015-07-26 15:06:24 · 509 阅读 · 0 评论 -
TIME_WAIT状态原理
TIME_WAIT状态原理----------------------------通信双方建立TCP连接后,主动关闭连接的一方就会进入TIME_WAIT状态。客户端主动关闭连接时,会发送最后一个ack后,然后会进入TIME_WAIT状态,再停留2个MSL时间(后有MSL的解释),进入CLOSED状态。下图是以客户端主动关闭连接为例,说明这一过程的。转载 2015-07-17 21:15:43 · 525 阅读 · 0 评论 -
read/write函数
关于TCP/IP协议,建议参考Richard Stevens的《TCP/IP Illustrated,vol1》(TCP/IP详解卷1)。关于第二层面,依然建议Richard Stevens的《Unix network proggramming,vol1》(Unix网络编程卷1),这两本书公认是Unix网络编程的圣经。至于第三个层面,UNP的书中有所提及,也有著名的C10K问题,业转载 2015-07-19 13:25:15 · 568 阅读 · 0 评论 -
I/O复用中,epoll 和select 的区别,以及epoll和select的实例
epoll是Linux内核为处理高并发而作改进的poll,是Linux下多路复用IO接口select/poll的增强版本。这里主要讲epoll和另外两个的区别,另外再把epoll的一个简单运用实例说说。(一)epoll 有select,poll的主要区别:一、相比于select与poll, epoll最大的好处在于它不会随着监听fd数目的增长而降低效率;二、内核中的select与poll的实现是采用轮询来处理的,轮询的fd数据越多,自然耗时也越多;三、epoll的实现是基于回调的,如果fd有期原创 2015-07-28 20:28:32 · 2316 阅读 · 5 评论 -
I/O复用-每次调用select()前都要重新设置一下待检测的描述字
select的实现是通过对设备的轮询来实现的,每次调用FD_ISSET()函数后 ,会把原来待检测的但是仍没就绪的描述字清0了。所以,每次调用select()前要重新调用FD_SET()来设置一下待检测的描述设备。select原型: int select(int n, fd_set *readfds, fd_set *writefds, fd_set *原创 2015-07-26 16:43:09 · 1964 阅读 · 0 评论 -
linux网络编程-内存管理
一、什么是共享内存顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由用C语言函数malloc分配的内存一样。而如果某个进程向共享内存写入数据,所做的改动将立即影转载 2015-08-02 19:43:03 · 673 阅读 · 0 评论 -
TCP/IP 三次握手、四次挥手
在我们学习网络基础时,传输层的协议有TCP和UDP;在Linux网络编程中,我们使用socket API,实现网络通信。那么: socket API 和 TCP 协议中各个状态是如何对应的呢?我们可以通过下图来看: 在socket系统调用中,如何完成三次握手和四次挥手: SOCK_DGRAM,即U转载 2015-07-22 20:10:59 · 640 阅读 · 0 评论 -
利用charles 抓取ios app的https数据包-----软件配置和抓取步骤
背景:最近在做数据缓存相关的工作;我们的设备是放在高铁里面的,主要是提供wifi服务。然而我们的wifi是由sim卡4g网络拨号提供的,用户在上网时需要下载我们的APP:掌上高铁;所以领导提出一个要求,要在自己服务器做一个缓存,用户在ios app-store下载掌上高铁的时候,直接把它劫持掉,改由我们设备服务器直接推给用户下载,这样我们就可以省下不少流量。 现在问题来了,我...原创 2018-11-15 11:02:19 · 1400 阅读 · 0 评论