正文内容加载中...
posted @ 2009-10-07 21:26 一只灰色的羊 阅读(405) 评论(0) 推荐(0) 编辑
摘要: 上两周无意中讨论起这个话题,发现andy同学对此甚为熟悉,于是叫他给大家分享了一下,在这里做一个沉淀。 这是网络编程的基础,tcp的状态转移图说到底就是一个状态机的不同状态之间的转换关系以及触发这些状态需要的条件,一共存在11个状态,我们来逐一分析: 1.CLOSED:起始点,在超时或者连接关闭时候进入此状态。 2.LISTEN:svr端在等待连接过来时候的状态,svr端为此要调用socket, ... 阅读全文
posted @ 2009-08-23 22:20 一只灰色的羊 阅读(5831) 评论(0) 推荐(0) 编辑
摘要: from:http://unix-cd.com/unixcd12/article_3069.html 作为Linux下的程序开发人员,一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了. 在本文中,将介绍如何使用autoconf和automake两个工具来... 阅读全文
posted @ 2009-08-11 21:26 一只灰色的羊 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 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... 阅读全文
posted @ 2009-07-22 22:17 一只灰色的羊 阅读(1095) 评论(0) 推荐(0) 编辑
摘要: zz from:http://dev.csdn.net/develop/article/49/49691.shtm 针对服务器处理网络连接的几种方式,unix网络编程里给出了9种方案,并且对服务器进程/线程的开销做了一个量化的比较。从个人经验出发,觉得以下几种方式是比较实用的: 1.最简单的是堵塞Accept,收到连接后fork进程(unix)或创建Thread.原进程/线程继续堵塞Accep... 阅读全文
posted @ 2009-07-15 22:38 一只灰色的羊 阅读(608) 评论(0) 推荐(0) 编辑
摘要: 对于I/O操作,有以下几种模型: 1、阻塞I/O(Blocking I/O):udp协议中的recvfrom在接受数据时进行等待就是使用此模型。 2.非阻塞I/O:recvfrom不阻塞,在数据未准备好时返回错误。 3.I/O复用:select和poll,轮询描述符是否准备好,如果准备好了就调用recvfrom获取数据。select可以同时监听多个描述符,但是受限于系统分配的描述符大小。 4.信... 阅读全文
posted @ 2009-07-11 10:42 一只灰色的羊 阅读(2829) 评论(2) 推荐(1) 编辑
摘要: http://www.cnblogs.com/grantvip/archive/2008/10/17/1313239.htmlhttp://blog.chinaunix.net/u/8036/showart_233356.htmlhttp://blog.csdn.net/fableking/archive/2008/05/22/2470864.aspxhttp://blog.csdn.net/ju... 阅读全文
posted @ 2009-06-29 22:57 一只灰色的羊 阅读(169) 评论(0) 推荐(0) 编辑
摘要: from:http://hi.baidu.com/walfer/blog/item/fa649f457276f53e86947302.html 我们运行如下命令,可看到Linux支持的信号列表: $ kill -l1) SIGHUP        2) SIGINT     ... 阅读全文
posted @ 2009-06-17 22:41 一只灰色的羊 阅读(1826) 评论(0) 推荐(0) 编辑
摘要: 说道多进程的svr网络模型,免不了会用到一些进程间通信的工具,在对简单的基于fork的并发服务器进行介绍以后,这里简单地介绍了一下信号处理: 1、信号也称为软件中断,信号的产生总是异步的,进程无法提前知道信号会什么时候发生。 2、信号可以在进程间发送,也可以是内核发送给进程。 3、每一个信号产生时,都会触发一个相关的行为(函数)执行,这个行为(函数)我们可以使用sigaction函数定义. 4、... 阅读全文
posted @ 2009-06-17 22:38 一只灰色的羊 阅读(752) 评论(0) 推荐(0) 编辑
摘要: 1、一个典型的tcp client/server调用的函数顺序如下: 2、tcp server会在accept处等待客户端连接;而udp server则会在recvfrom函数处等待客户端连接。 3、一个简单的并发服务器使用fork和exec来完成客户端的并发请求处理。fork以后,父进程关闭connect fd,子进程关闭listen fd,子进程在完成逻辑处理后关闭 connent fd。 ... 阅读全文
posted @ 2009-06-14 22:20 一只灰色的羊 阅读(727) 评论(1) 推荐(0) 编辑