
网络编程
borefo
这个作者很懒,什么都没留下…
展开
-
如何编写高性能的网络服务器
Scalable Network ProgrammingOr: The Quest For A Good Web Server (That Survives Slashdot)Scalable Network ProgrammingFelix von Leitner[email]felix-linuxkongress@fefe.de[/email][email]qyb@eyou.net[/emai转载 2009-09-21 16:42:00 · 1677 阅读 · 0 评论 -
linux 2.6内核epoll用法举例说明(续)--给echo服务器增加读线程池
上篇文章使用linux内核2.6提供的epoll机制实现了一个反应式echo服务器,使用反应式服务器的最大好处就是可以按cpu的数量来配置线程池内线程的线程数而不是根据客户端的并发量配置线程池。我是第一次使用pthread库来写线程池,使用的是工作队列方式的线程池。我感觉作队列方式的线程池可以当成一种设计模式来用的,在很多平台上都是可以按这种方式来实现线程池,从win32 ,unix到jvm都是适转载 2009-09-21 16:55:00 · 914 阅读 · 0 评论 -
Windows完成端口与Linux epoll技术简介
WINDOWS完成端口编程1、基本概念2、WINDOWS完成端口的特点3、完成端口(Completion Ports )相关数据结构和创建4、完成端口线程的工作原理5、Windows完成端口的实例代码Linux的EPoll模型1、为什么select落后2、内核中提高I/O性能的新方法epoll3、epoll的优点4、epoll的工作模式 5、epoll的使用方法6、Linux下转载 2009-09-21 19:09:00 · 695 阅读 · 0 评论 -
linux 2.6内核epoll用法举例说明
epoll用到的所有函数都是在头文件sys/epoll.h中声明的,下面简要说明所用到的数据结构和函数:所用到的数据结构typedef union epoll_data { void *ptr; int fd; __uint32_t u32; __uint64_t u64;转载 2009-09-21 16:53:00 · 586 阅读 · 0 评论 -
linux epoll
在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#define __FD_S转载 2009-09-21 19:27:00 · 682 阅读 · 0 评论 -
关于ulimit的深入思考
在我总结ulimit之前,让我们回顾一下,为什么要修改ulimit的值?QUOTE:2.1. 如何管理多个连接?“我想同时监控一个以上的文件描述符(fd)/连接(connection)/流(stream),应该怎么办?” 使用 select() 或 poll() 函数。 注意:select() 在BSD中被引入,而poll()是SysV STREAM流控制的产物。因此,这里就有了平台移转载 2009-09-21 18:46:00 · 1277 阅读 · 0 评论