多くの場合、LinuxのC / C ++で使用されるオープンソースソケットライブラリ[ターン]

転送:https://www.cnblogs.com/gccbuaa/p/7015599.html

1.       C ++でのLinuxソケットプログラミング  :  http://tldp.org/LDP/LG/issue74/tougher.html

2.       ACE:  http://www.cs.wustl.edu/~schmidt/ACE.html

様々なシールド層、複雑で面倒なCaozuoxitongのAPIを使用してACE ACE_OS適応。

ACEは、コードの約200,000株、あまりにも野心的、デザインパターンの束、アーキテクチャ層層の後、大規模なミドルウェア製品です。それは巨大かつ複雑です。大規模プロジェクトに適しています。オープンソース、無料。サードパーティ製のライブラリに依存しないでください。使用時には、状況に基づいている必要があります。どこで使用する1つを見ました。クロスプラットフォームのサポート。

ACEスーパーヘビー級のネットワーク通信開発フレームワーク。ACE適応通信環境(AdaptiveCommunication環境)、オープンソースのオブジェクト指向フレームワークを使用して自由です。同時通信ソフトウェアのための多くのコアパターンを実装の中で。

イベント分離及びディスパッチイベントハンドラ、信号処理、サービス:ACEは、リッチ含む複数のプラットフォーム共通の通信ソフトウェアタスクを横切って完了することができるパッケージアピアランス(ラッパーファサード)とフレームアセンブリ++再利用可能なCのセットを提供します初期化中に、プロセス間通信、共有メモリ管理、メッセージルーティング、分散サービスの動的(再)構成、同時実行と同期化、等

3.       C ++ソケットライブラリ:  http://www.alhem.net/Sockets/index.html

このソケットは実装がTCP、UDP、ICMP、SCTPプロトコルが含まれるクロスプラットフォームのライブラリです。実装されたアプリケーションプロトコルはSMTP、HTTP(S)、AJPが含まれます。それはSOCKSclientの実装と匿名のDNSを持っています。WebServerののHTTP GET / POST / PUTとフレームワークのサポート。

これは、ソケットC API C ++クラスライブラリをカプセル化します。サポートSSL、IPv6の、TCPとUDPソケット、SCTPソケット、httpプロトコル、高度にカスタマイズ可能なエラー処理。

4.       ASIO C ++ライブラリ:  http://think-async.com/

これは、非同期IOのBoostライブラリの開発に基づいているソケット使用頻度の高い操作をカプセル化します。ソケットベースは、開発プロセスを簡素化します。これは、オープンソース、無料、クロスプラットフォームのサポートです。

5.       libevent:  http://libevent.org/

これは、C言語で書かれたネットワークライブラリでメインサポートクラスのLinuxオペレーティングシステムで、最新バージョンは、Windows、IOCPのサポートを追加します。IOCPが非同期IOされているため。LinuxでPOLLモデル。epollモデル、ならびにこれらのFreeBSDのkqueueのと使用モデルでは全く矛盾する他の同期。だから、使い方はACE炉・Proactorモードで同じように、同じではありません。彼らの考え方を変更する必要性を使用してください。

パフォーマンスについては特に制限を想定していません。その後は、Windows、Linux、Unixの間でモデル化することができますを選択し、クロスプラットフォームの動作を実現するためにlibeventに選択したモデルを使用しています。Solarisおよびその他のシステム。

IOイベント、タイマーイベント、信号イベント:Libeventは、高性能軽量オープンソースのネットワークライブラリで、そのメカニズムは、イベントトリガ応答は以下のイベントのうち3つをカプセル化しています。

クロスプラットフォーム、Windows環境のサポートIOCPを達成するために、オペレーティング・モデルを選択します。MacとLinuxのバージョン番号で、GoogleのオープンソースクロムWEBブラウザ。またLibeventを使用。これは、ライブラリの品質を示しています。

第六       libevは:  http://software.schmorp.de/pkg/libev.html

これは、C言語で書かれています。Linuxのみの時間を持っていたことだけがepollモデルが同様のlibeventを使用してカプセル化しますが、非常に単純な、最小限のコードはライブラリである、図書館システムをサポートしています。また、コードの数千行。明らかに、これは確かにコードクロスプラットフォームのサポートではなく、あなたが唯一のLinuxで次の手順を実行する必要がありますと仮定します。ライブラリのを使用することも可能です。

 

libevは、非常に多くのlibeventのように、その作者に合わせて、libeventの代替品として使用することができます。これは、より高いパフォーマンスを提供することができます。

libevは、高性能イベントループ機能は、強力な原子炉を実現しています。

7.       SimpleSocket:  http://home.kpn.nl/lcbokkers/simsock.htm

このライブラリは、簡単にソケットベースのクライアント/サーバープログラムを書くことにします。

 

8.       シンプル・ソケット:  http://sourceforge.net/projects/simple-socket/

主にUNIXシステムでは、C ++のソケットandnetworkライブラリを使用して簡単にできます。

9.       POCO:  http://pocoproject.org/

POCO C ++ライブラリは、スレッド、スレッド同期、ファイルシステムへのアクセス、ストリーミング操作、共有ライブラリとクラスのロード、プロトコル、およびネットワークソケットを含むポータブルネットワーク機能をベースのアプリケーションを開発するためのC ++クラスライブラリを提供します前記HTTP、FTP、SMTPなど、それ自体がHTTPSERVER含みます。XML解析は、アクセス・インタフェースおよびSQLデータベースを提供しています。POCOライブラリ、モジュラー、効率的な設計と実装は、組込み開発のためのPOCOは特に適しています。組込み開発の分野では、C ++の両方の基礎となるため、より多くの人気を(デバイスのI / Oなど、割り込み処理)と高レベルのオブジェクト指向開発のため。

10.   libcurlの:  http://curl.haxx.se/libcurl/

libcurlのは自由軽量クライアントネットワークライブラリです。サポートDICT、FILE、FTP、FTPS、Gopherの、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、POP3、POP3S、RTMP、RTSP、SCP、SFTP、SMTP、SMTPS、TelnetやTFTP。SSLをサポートし、HTTPPOST、HTTPPUT、 FTPアップロード、HTTPフォームのアップロード、プロキシ、クッキー、ユーザ名とパスワードの認証。

 

あなたはクライアントを開発したとします。libcurlのは良い選択です。

11.   libiop:  http://sourceforge.net/projects/libiop/

C言語は、クロスプラットフォームのネットワークIOライブラリを開発します。

特長:C / C ++ API、サポートのepollの基礎となる、選択し、世論調査などIOモデル。非同期イベントモデル、タスクプールモデル、クロスプラットフォームのスレッドインタフェース。クロスプラットフォーム(Linuxの/ Windowsの場合)。サービスをログに記録します。安定しました。サポート7 * 24時間途切れない実行。自らのイニシアチブは、異常状態に対処するため、高並行性と高速応答、APIのシンプルさを、最後にコストを学びます。

 

注意:ネットワークからの議論の上記の内容を!

 

おすすめ

転載: www.cnblogs.com/sky-heaven/p/11612780.html