Socket学习系列之IO复用select、poll、epoll的区别

[TOC] 描述符就绪条件 可读(任意一个满足) 该套接字接收缓冲区中的数据字节数大于等于套接字接收缓冲区低水位标记的当前大小。对这样的套接字执行读操作不会阻塞并将返回一个大于0的值(也就是返回准备好读入的数据)。我们可以使用SO_RCVL … 继续阅读 Socket学习系列之IO复用select、poll、epoll的区别

Socket学习系列之说说同步/异步&阻塞/非阻塞调用的区别

[TOC] 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式,我们来整理下四种调用方式的差异。 同步/异步调用差异  同步调用: 所谓同步,就是在调用端发出一个功能 … 继续阅读 Socket学习系列之说说同步/异步&阻塞/非阻塞调用的区别

Socket学习系列之使用php socket+多进程实现处理多个client的server

前言 之前的例子里,我们的tcp服务端仅能接受一个客户端连接。怎么能做到支持多个客户端连接呢?常用的有: 多进程/多线程(PHP无独多线程) I/O复用,使用select、poll、epoll等技术 多进程+I/O复用 代码实现 下面我们将 … 继续阅读 Socket学习系列之使用php socket+多进程实现处理多个client的server