C++各大有名庫的介紹——網絡通信

在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的封裝庫。

發佈了12 篇原創文章 · 獲贊 1 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章