- 博客(7)
- 收藏
- 关注
转载 TraceRoute(tracert)实现原理
TraceRoute程序的实现主要涉及IP头部生存时间(time to live, TTL)字段的使用。 设置TTL字段的目的是为了防止数据报由于选路错误或其他软硬件原因从而导致在网络中无休止的流动,TTL字段指定了数据报的生存时间。TTL的初始值由源主机设置,当一份数据报经过路由器时,处理该数据报的路由器都需要把TTL值减去数据报在路由器中停留的秒数。但事实上大多数路由器只是简单地将T
2009-12-10 16:24:00
2080
转载 epoll用法举例说明(续)--给echo服务器增加读线程池
linux 2.6内核epoll用法举例说明(续)--给echo服务器增加读线程池 上篇文章使用linux内核2.6提供的epoll机制实现了一个反应式echo服务器,使用反应式服务器的最大好处就是可以按cpu的数量来配置线程池内线程的线程数而不是根据客户端的并发量配置线程池。我是第一次使用pthread库来写线程池,使用的是工作队列方式的线程池。我感觉作队列方式的线程池可以当成一种设计模式
2009-11-22 15:57:00
1020
转载 Linux环境下的网络编程
本文介绍了在Linux环境下的socket编程常用函数用法及socket编程的一般规则和客户/服务器模型的编程应注意的事项和常遇问题的解决方法,并举了具体代码实例。要理解本文所谈的技术问题需要读者具有一定C语言的编程经验和TCP/IP方面的基本知识。要实习本文的示例,需要Linux下的gcc编译平台支持。 Socket定义 网络的Socket数据传输是一种特殊的I/O,Socke
2009-11-22 15:55:00
265
转载 Epoll为我们带来什么
Q:网络服务器的瓶颈在哪?A:IO效率。 在大家苦苦的为在线人数的增长而导致的系统资源吃紧上的问题正在发愁的时候,Linux 2.6内核中提供的System Epoll为我们提供了一套完美的解决方案。传统的select以及poll的效率会因为在线人数的线形递增而导致呈二次乃至三次方的下降,这些直接导致了网络服务器可以支持的人数有了个比较明显的限制。 自从Linux提供了/dev/epol
2009-11-22 15:51:00
246
转载 (转) 高性能服务器设计
书接上文,很自然地就到了高性能服务器设计这个话题上来了。先后查看了haproxy,l7sw和lighttpd的相关源码,无一例外,他们一致认为多路复用是性能最好的服务器架构。事实也确实应该如此,进程的出现一方面就是为了保存任务的执行上下文从而简化应用程序设计,如果程序的逻辑结构不是很复杂,那么用整个进程控制块来保存执行上下文未免有些大材小用,加上进程调度和其他的一些额外开销,程序设计上的高效
2009-11-22 15:32:00
342
转载 标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast(转载)
C 风格(C-style)强制转型如下: (T) exdivssion // cast exdivssion to be of type T 函数风格(Function-style)强制转型使用这样的语法: T(exdivssion) // cast exdivssion to be of type T 这两种形式之间没有本质上的不同,它纯粹就是一个把括号放在哪的问题。
2009-11-12 11:05:00
323
转载 vs2005下安装boost
vs2005下安装boost2007-10-17 10:21网上有很多安装方法,以下是我成功安装的步骤1.下载boost_1_34_1压缩文件,解压缩到d:/boost_1_34_1/目录下2.编译bjam从vs2005的工具菜单进入命令提示窗口(一定要从这进),cd到d:/boost_1_34_1/tools/jam/src下执行build.ba
2009-11-10 11:50:00
321
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人