网络编程

protobuf的使用

Protobuf的安装

正确安装方法:
[http://blog.csdn.net/guoyilongedu/article/details/17093811]
linux下安装protobuf教程+示例
[http://www.cppblog.com/colorful/archive/2012/05/05/173761.html]
Linux 下使用protobuf 几点细节
[http://blog.csdn.net/sky_cn1986/article/details/6092479]

Protobuf的使用

开源中国 Protobuf的使用
[http://my.oschina.net/macwe/blog/157862]

与网络编程的结合

网络编程思考
[http://blog.csdn.net/ciml/article/details/5753367]

libevent和基于libevent的网络编程

1 libevent介绍和安装

介绍

libevent是一个轻量级的基于事件驱动的高性能的开源网络库,并且支持多个平台,对多个平台的I/O复用技术进行了封装,当我们编译库的代码时,编译的脚本将会根据OS支持的处理事件机制,来编译相应的代码,从而在libevent接口上保持一致。

在当前的服务器上,面对的主要问题就是要能处理大量的连接。而通过libevent这个网络库,我们就可以调用它的API来很好的解决上面的问题。首先,可以来回顾一下,对这个问题的传统解决方法。

问题: 如何处理多个客户端连接

解决方案1:I/O复用技术

这几种方式都是同步I/O,即当读写事件就绪,他们自己需要负责进行读写,这个读写过程是阻塞的,而异步I/O则不需要自己负责读写,只需要通知负责读写的程序就可以了。