C++でNetwork関係に強いライブラリ「POCO」の紹介

日本では全然有名ではないが(とは言え海外事情も知らないが)色々と便利な機能が入ったC++ライブラリ「POCO」と言うものがある。

http://pocoproject.org/index.html

クロスプラットフォーム対応で、win/linux/macはもちろん、androidにも対応してるみたい。

Windows+VisualStudio Expressで使う場合において、buildwin.cmd時に「afxwin.hが見つからない」と言うエラーが出るが、このエラーはUnitTestをビルドする際に出るエラーなので、普通に利用するぶんには無視してもかまわない。

基本的なライブラリはFoundationと呼ばれている、適当にこいつをビルドしてやれば、基本部分は問題なく使える。

で、肝心のこいつで何が出来るかだけど、個人的な感想としてはNetwork関係について強い印象を受ける。

Overview
http://pocoproject.org/slides/000-IntroAndOverview.pdf

他にも有名なライブラリとしてboostのasioがあるが、POCOはそれよりも高レベルかつ使いやすい機能を提供する。
例えばHttpやFtpのサーバーだったり、WebSocket/SSL通信といったネットワークの機能や、各種DBと接続するためのODBCインターフェースがある。