您的位置:首页 > 理论基础 > 计算机网络

C++各大有名库的介绍——网络通信

2011-03-10 22:21 204 查看
在C++中,库的地位是非常高的。C++之父 Bjarne Stroustrup先生多次表示了设计库来扩充功能要好过设计更多的语法的言论。现实中,C++的库门类繁多,解决的问题也是极其广泛,库从轻量级到重量级的都有。不少都是让人眼界大开,亦或是望而生叹的思维杰作。由于库的数量非常庞大,而且限于笔者水平,其中很多并不了解。所以文中所提的一些库都是比较著名的大型库。

C++各大有名库的介绍——网络通信

1、ACE

参考网站:http://www.cs.wustl.edu/~schmidt/ACE.html

  C++库的代表,超重量级的网络通信开发框架。ACE自适配通信环境(Adaptive Communication Environment)是可以自由使用、开放源代码的面向对象框架,在其中实现了许多用于并发通信软件的核心模式。ACE提供了一组丰富的可复用C++包装外观(Wrapper Facade)和框架组件,可跨越多种平台完成通用的通信软件任务,其中包括:事件多路分离和事件处理器分派、信号处理、服务初始化、进程间通信、共享内存管理、消息路由、分布式服务动态(重)配置、并发执行和同步,等等。

2、ICE

参考网站:http://www.zeroc.com/index.html

ICE是ZeroC公司开发的一款简单高效的开源中间件平台,通过它可以快速地开发出高效、强壮、优雅的分布式的软件。

ICE是ZeroC公司开发的一款高效的开源中间件平台,全称是Internet Communications Engine。

它的主要设计目标是:
• 提供适用于异种环境的面向对象中间件平台。
• 提供一组完整的特性,支持广泛的领域中的实际的分布式应用的开发。
• 避免不必要的复杂性,使平台更易于学习和使用。
• 提供一种在网络带宽、内存使用和 CPU 开销方面都很高效的实现。
• 提供一种具有内建安全性的实现,使它适用于不安全的公共网络。

ICE支持多种编程语言:C++、Java、C#、VB、Python、Ruby,也就是说使用ICE时我们可以让这些语言无缝沟通,不过由于ICE是用C++编写的,不管用什么语言,你都需要先用C++编译出一个ICE才行(或者下载已编译的版本)。

本篇文章以C++语言作为演示语言,其它语言除语法不同外,使用方法非常类似。

3、StreamModule

参考网站:http://www.omnifarious.org/StrMod

  设计用于简化编写分布式程序的库。尝试着使得编写处理异步行为的程序更容易,而不是用同步的外壳包起异步的本质。

4、SimpleSocket

参考网站:http://home.hetnet.nl/~lcbokkers/simsock.htm

  这个类库让编写基于socket的客户/服务器程序更加容易。

5、A Stream Socket API for C++

参考网站:http://www.pcs.cnu.edu/~dgame/sockets/socketsC++/sockets.html

  又一个对Socket的封装库。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: