目录Day8-Python socket 11、Socket 11.1、socket和file的区别: 11.2、WEB服务应用: 21.3、更多功能 21.4、socket方法: 41.5、 服务端 51.6、客户端 62、实例 63、IO多路复用 73.1、Linux IO复用 73.2、Pyt ...
分类:
编程语言 时间:
2017-12-31 14:12:22
阅读次数:
252
nginx与php-fpm是不是以多进程多线程方式运行的?Nginx 是非阻塞IO & IO复用模型,通过操作系统提供的类似 epoll 的功能,可以在一个线程里处理多个客户端的请求。Nginx 的进程就是线程,即每个进程里只有一个线程,但这一个线程可以服务多个客户端。PHP-FPM 是阻塞的单线程模型,pm.max_children 指定的是最大的进程数量,pm.max_requests
分类:
Web程序 时间:
2017-12-21 18:13:56
阅读次数:
237
chapter6 6.1 概述 I/O复用典型使用在下列网络应用场合。 (1):当客户处理多个描述符时,必须使用IO复用 (2):一个客户同时处理多个套接字是可能的,不过不叫少见。 (3):如果一个TCP服务器既要处理监听套接字,又要处理已连接套接字。 (4):如果一个服务器既要处理TCP,又要处理 ...
分类:
其他好文 时间:
2017-12-17 00:14:42
阅读次数:
115
通常,我们写服务器处理模型的程序时,有以下几种模型 : (1)每收到一个请求,创建一个新的进程,来处理该请求; (2)每收到一个请求,创建一个新的线程,来处理该请求; (3)每收到一个请求,放入一个事件列表,让主进程通过非阻塞I/O方式来处理请求 上面的几种方式,各有千秋, 第(1)中方法,由于创建 ...
分类:
其他好文 时间:
2017-12-02 00:41:47
阅读次数:
241
用线程池实现的简单web服务器--tinywebserver 写了一个使用线程池实现的简单web服务器,主要可以复习IO复用,线程池,信号,有限状态机,HTTP协议解析等内容。 下面首先给出实现过程中遇到的问题以及解决的方法,然后给出项目的具体代码,代码是基于《Linux高性能服务器编程》编写的。 ...
分类:
编程语言 时间:
2017-11-27 21:35:32
阅读次数:
273
转载:IO复用\阻塞IO\非阻塞IO\同步IO\异步IO 一、 什么是IO复用? 它是内核提供的一种同时监控多个文件描述符状态改变的一种能力;例如当进程需要操作多个IO相关描述符时(例如服务器程序要同时查看监听socket和大量业务socket是否有数据到来),需要内核能够监控这许多描述符,一旦这些 ...
分类:
其他好文 时间:
2017-11-27 15:19:39
阅读次数:
94
阻塞与非阻塞指的是 socket api,如,accept,read,write,conncet等,通过fcntl或者ioctlsockt可以设置socket非阻塞。 同步与异步指的是 io复用通知应用程序的是 io就绪事件还是io完成事件,也就是读写数据是有应用程序来读写还是内核来读写。也叫rea ...
分类:
其他好文 时间:
2017-11-18 23:36:20
阅读次数:
141
事件堆实例生成: 大致就时base_event 的初始化, 选取一个io复用模型, Linux下优先选择epoll。 事件生成event_new: ...
分类:
其他好文 时间:
2017-11-09 17:25:30
阅读次数:
165
转载:http://blog.csdn.net/jay900323/article/details/18141217 Linux五种IO模型及分析 目录(?)[-] 概念理解 Linux下的五种IO模型 阻塞IO模型 非阻塞IO模型 IO复用模型 信号驱动IO 异步IO模型 个IO模型的比较 sel ...
分类:
系统相关 时间:
2017-11-08 19:39:32
阅读次数:
225
(1)select,poll实现需要自己不断轮询所有fd集合,直到设备就绪,期间可能要睡眠和唤醒多次交替。而epoll其实也需要调用epoll_wait不断轮询就绪链表,期间也可能多次睡眠和唤醒交替,但是它是设备就绪时,调用回调函数,把就绪fd放入就绪链表中,并唤醒在epoll_wait中进入睡眠的 ...
分类:
其他好文 时间:
2017-10-12 13:05:01
阅读次数:
153