自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

转载 linux并发连接50万的配置

转载▼support over 500k users, you *need*- A 64 bits hardware/kernel (AMD64, Opterons)- At least 8GB of ram- A recent linux kernel (2.6.x)About tuning, I prefer to not fully disclose th

2012-04-25 17:49:35 4457

转载 在APACHE环境下配置下载服务器

环境平台:FreeBSD6.1 服务器:APACHE2.0.59组件: libiconv-1.9.2_2.tbz     pkgconfig-0.20.tbz          #pkg_add添加组件时需要的文件 libxml2-2.6.23_1.tbz   perl-5.8.8.tbz                   #要使用pkg_add添加的组件 mod_b

2012-04-25 11:17:16 6539

转载 使用Apache打造完美限制的HTTP下载服务器

使用Apache打造完美限制的HTTP下载服务器2010-02-09 21:56    使用Apache打造完美限制的HTTP下载服务器 话说现在建站真不容易,想好好搞一个下载站,总会被人WC的采集,盗链,攻击,无人值守的垃圾站比苦心经营的站收入还要可观。所以保卫好自己的服务器是一件很重要的工作。      3G软件站([url]www.3grjz.com[/url])刚刚上线,立

2012-04-25 11:03:39 4280

转载 进程间通信---共享内存(shmget)

当然只有mmap是可以的,不过由于各种不同的系统的架构不一样,后来又经过整合,所以我们现在的linux有多种内存共享方案,下面在介绍一种非常常用的系统V内存方案。本人首先再在上次的基础之上介绍一个网址http://www.360doc.com/content/080702/11/67071_1389854.html(国防科大的仁兄)本人在自己理解的基础上一步一步去深入

2012-04-24 16:15:59 2484

转载 详细解说STL hash_map系列

1 数据结构:hash_map原理这是一节让你深入理解hash_map的介绍,如果你只是想囫囵吞枣,不想理解其原理,你倒是可以略过这一节,但我还是建议你看看,多了解一些没有坏处。hash_map基于hash table(哈希表)。 哈希表最大的优点,就是把数据的存储和查找消耗的时间大大降低,几乎可以看成是常数时间;而代价仅仅是消耗比较多的内存。然而在当前可利用内存越来越多的情况下,用空间换

2012-04-23 17:22:52 640

转载 基于C API的MySQL数据库多线程访问方法

说明:如何生成线程式客户端客户端库总是线程安全的。最大的问题在于从套接字读取的net.c中的子程序并不是中断安全的。或许你可能希望用自己的告警中断对服务器的长时间读取,以此来解决问题。如果为SIGPIPE中断安装了中断处理程序,套接字处理功能应是线程安全的。为了避免连接中断时放弃程序,MySQL将在首次调用mysql_server_init()、mysql_init()或mysql_c

2012-04-23 13:30:18 13023

原创 mysql c api的使用

官方网站API:http://dev.mysql.com/doc/refman/5.1/zh/apis.html#c-api-datatypesmysql c API,其官网上有现成的说明,下面是一个简单的应用说明:            在使用该API的应用程序中应该先执行mysql_library_init(...)--如:mysql_library_init(0, NULL, N

2012-04-20 17:47:40 3538

转载 c++ 容器类 概括性介绍

C++中的容器类包括“顺序存储结构”和“关联存储结构”,前者包括vector,list,deque等;后者包括set,map,multiset,multimap等。若需要存储的元素数在编译器间就可以确定,可以使用数组来存储,否则,就需要用到容器类了。 1、vector    连续存储结构,每个元素是在内存上是连续的;    支持高效的随机访问和在尾端插入/删除操作,但其他位置的

2012-04-18 14:23:53 577

转载 用于并行计算的多线程数据结构,第 1 部分: 设计并发数据结构

简介现在,您的计算机有四个 CPU 核;并行计算 是最时髦的主题,您急于掌握这种技术。但是,并行编程不只是在随便什么函数和方法中使用互斥锁和条件变量。C++ 开发人员必须掌握的关键技能之一是设计并发数据结构。本文是两篇系列文章的第一篇,讨论如何在多线程环境中设计并发数据结构。对于本文,我们使用 POSIX Threads 库(也称为 Pthreads;见参考资料 中的链接),但是也可以

2012-04-16 13:34:49 844

转载 使用 getopt() 进行命令行处理

简介: 所有 UNIX® 程序甚至那些具有图形用户界面(graphical user interface,GUI)的程序,都能接受和处理命令行选项。对于某些程序,这是与其他程序或用户进行交互的主要手段。具有可靠的复杂命令行参数处理机制,会使得您的应用程序更好、更有用。不过很多开发人员都将其宝贵的时间花在了编写自己的命令行解析器,却不使用getopt(),而后者是一个专门设计来减轻命令行处理负担

2012-04-11 16:43:52 492

转载 libevent源码深度剖析:Reactor模式

libevent源码深度剖析:序幕libevent源码深度剖析:初见事件处理框架libevent源码深度剖析:核心-事件libevent源码深度剖析:基本使用场景和事件流程libevent 使用与源码剖析转至:http://cpp.ezbty.org/content/science_doc/libevent%E6%BA%90%E7%A0%81%E6%B7%B1%E5%BA%A6%E5%

2012-04-11 15:31:38 1160

转载 Linux开启mysql远程连接的设置步骤

Mysql默认root用户只能本地访问,不能远程连接管理mysql数据库,Linux如何开启mysql远程连接?设置步骤如下:1、GRANT命令创建远程连接mysql授权用户itloggermysql -u root -pmysql>GRANT ALL PRIVILEGES ON *.* TO itlogger@localhost IDENTIFIED BY ‘www.itlogger

2012-04-10 20:02:48 86186 2

转载 linux下MySQL安装与删除 (Ubuntu下)

1、MySQL安装A)MySQL安装:    sudo apt-get install mysql-server mysql-client  B)启动/停止MySQL服务:      MySQL 在安装以后,MySQL 就已经启动;如果需要手动启动或停止则如下操作:      手动启动服务:       sudo start mysql        手动停止服务:

2012-04-10 17:34:02 1891

转载 五种I/O 模式——阻塞(默认IO模式),非阻塞(常用语管道),I/O多路复用(IO多路复用的应用场景),信号I/O,异步I/O

转载至:http://blog.163.com/xychenbaihu@yeah/blog/static/13222965520112163171778/种I/O 模式:【1】        阻塞 I/O           (Linux下的I/O操作默认是阻塞I/O,即open和socket创建的I/O都是阻塞I/O)【2】        非阻塞 I/O        (可以通过fc

2012-04-09 13:42:04 1057

转载 libevent参考手册第六章:bufferevent:概念和入门

转载至:http://blog.sina.com.cn/s/blog_56dee71a0100qx4s.html很多时候,除了响应事件之外,应用还希望做一定的数据缓冲。比如说,写入数据的时候,通常的运行模式是:l 决定要向连接写入一些数据,把数据放入到缓冲区中l 等待连接可以写入l 写入尽量多的数据l 记住写入了多少数据,如果还有更多数据要写入,等待连接再次可以写入这种

2012-04-07 14:41:17 16286

转载 使用 libevent 和 libev 提高网络应用性能

转载至:http://www.ibm.com/developerworks/cn/aix/library/au-libev/index.html?ca=drs-#N10072简介: 构建现代的服务器应用程序需要以某种方法同时接收数百、数千甚至数万个事件,无论它们是内部请求还是网络连接,都要有效地处理它们的操作。有许多解决方案,但是 libevent 库和 libev 库能够大大提高性能和事

2012-04-07 12:14:08 1178

转载 gethostbyname 和 gethostbyname_r(可重入的)得到dns信息

使用这个东西,首先要包含2个头文件:#include #include struct hostent *gethostbyname(const char *name);这个函数的传入值是域名或者主机名,例如"www.google.com","wpc"等等。传出值,是一个hostent的结构(如下)。如果函数调用失败,将返回NULL。struct hostent {

2012-04-06 14:03:17 19598

转载 libevent入门教程:Echo Server based on libevent

转载至:http://www.felix021.com/blog/read.php?2068首先给出官方文档吧: http://libevent.org ,首页有个Programming with Libevent,里面是一节一节的介绍libevent,但是感觉信息量太大了,而且还是英文的-。-(当然,如果想好好用libevent,看看还是很有必要的),还有个Reference,大致就是对各个

2012-04-06 12:00:07 1294

转载 C++:p2p通信,打洞技术,穿越NAT的实现

UDP/TCP穿越NAT的P2P通信方法研究(UDP/TCP打洞 Hole Punching)NAT设备的类型介绍:转载http://www.limou.net/?p=120NAT设备的类型对于TCP穿越NAT,有着十分重要的影响,根据端口映射方式,NAT可分为如下4类,前3种NAT类型可统称为cone类型。全克隆( Full Cone) : NAT把所有来自相同内部IP地址和

2012-04-06 10:46:53 5717

转载 一个boost底下的线程池

Boost的thread库中目前并没有提供线程池,我在sorceforge上找了一个用boost编写的线程池。该线程池和boost结合的比较好,并且提供了多种任务执行策略,使用也非常简单。下载地址: http://threadpool.sourceforge.net/使用threadpool: 这个线程池不需要编译,只要在项目中包含其头文件就可以了。 一个简单的例子:

2012-04-05 13:49:11 884

转载 linux中的线程屏蔽码和进程屏蔽码

1. 在主线程中屏蔽 SIGUSR1信号  2. 再creat两个子线程write 和 read,在write线程中取消SIGUSR1的屏蔽。3. 这样 通过 其它进程向此进程发来 SIGUSR1信号将由 write线程接受sigprocmask 是改变整个进程的信号屏蔽pthread_sigmask 只是改变线程自己的信号屏蔽我通过 kill -SIGUSR1

2012-04-05 09:48:01 3023

转载 linux UDP编程学习总结

与TCP的不同使用TCP套接口必须先要建立连接,而UDP套接口不需要预先建立连接,它在调用socket()生成一个套接口后,在服务器端调用bind()绑定端口,服务器阻塞于recvfrom()调用,客户端调用sendto()发送数据请求,阻塞于recvfrom()调用,服务器端调用recvfrom()接受数据,服务器端额调用sendto()向客户发送数据作为应答,然后阻塞于recvfrom()

2012-04-04 19:38:39 1078

转载 长连接和心跳包

第一种设置:通过设置socket的keepalive属性#include    "/usr/include/linux/tcp.h"#include "/usr/include/linux/socket.h"////KeepAlive实现,单位秒//下面代码要求有ACE,如果没有包含ACE,则请把用到的ACE函数改成linux相应的接口int keepAlive = 1;//设

2012-04-04 19:38:00 9451 2

转载 长连接与短连接

长连接与短连接所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接,一般需要自己做在线维持。此种方式常用于P2P通信。所谓短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,一般银行都使用短连接。 C/S通信比如http的,只是连接、请求、关闭,过程时间较短,服务器若

2012-04-04 16:24:18 2215

转载 IP数据包长度问题总结

这篇文章总结的不错,转自:http://hi.baidu.com/to_wait/blog/item/3e855931a5a51717eac4af22.html首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层。   其中以太网(Ethernet)的数据帧在链路层   IP包在网络层   TCP或UDP包在传输层   TCP或UDP中的数据(Data)在应

2012-04-04 15:44:25 790

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除