随笔分类 - 网络编程
摘要:libevent is an event notification library for developing scalable network servers. The libevent API provides a mechanism to execute a callback function when a specific event occurs on a file descripto...
阅读全文
摘要:zz from:http://dev.csdn.net/develop/article/49/49691.shtm 针对服务器处理网络连接的几种方式,unix网络编程里给出了9种方案,并且对服务器进程/线程的开销做了一个量化的比较。从个人经验出发,觉得以下几种方式是比较实用的: 1.最简单的是堵塞Accept,收到连接后fork进程(unix)或创建Thread.原进程/线程继续堵塞Accep...
阅读全文
摘要:对于I/O操作,有以下几种模型: 1、阻塞I/O(Blocking I/O):udp协议中的recvfrom在接受数据时进行等待就是使用此模型。 2.非阻塞I/O:recvfrom不阻塞,在数据未准备好时返回错误。 3.I/O复用:select和poll,轮询描述符是否准备好,如果准备好了就调用recvfrom获取数据。select可以同时监听多个描述符,但是受限于系统分配的描述符大小。 4.信...
阅读全文
摘要:from:http://hi.baidu.com/walfer/blog/item/fa649f457276f53e86947302.html 我们运行如下命令,可看到Linux支持的信号列表: $ kill -l1) SIGHUP 2) SIGINT ...
阅读全文
摘要:说道多进程的svr网络模型,免不了会用到一些进程间通信的工具,在对简单的基于fork的并发服务器进行介绍以后,这里简单地介绍了一下信号处理: 1、信号也称为软件中断,信号的产生总是异步的,进程无法提前知道信号会什么时候发生。 2、信号可以在进程间发送,也可以是内核发送给进程。 3、每一个信号产生时,都会触发一个相关的行为(函数)执行,这个行为(函数)我们可以使用sigaction函数定义. 4、...
阅读全文
摘要:1、一个典型的tcp client/server调用的函数顺序如下: 2、tcp server会在accept处等待客户端连接;而udp server则会在recvfrom函数处等待客户端连接。 3、一个简单的并发服务器使用fork和exec来完成客户端的并发请求处理。fork以后,父进程关闭connect fd,子进程关闭listen fd,子进程在完成逻辑处理后关闭 connent fd。 ...
阅读全文
摘要:Big endian machine: It thinks the first byte it reads is the biggest. Little endian machine: It thinks the first byte it reads is the littlest. #include <stdio.h> int main(int argc, char **arg...
阅读全文
摘要:1、IPv4 Socket Address Structure struct in_addr { in_addr_t s_addr; /* 32-bit IPv4 address */ /* network byte ordered */};struct sockaddr_in { uint8_t sin_len; /* length of structure (16) */ sa_fami...
阅读全文

浙公网安备 33010602011771号