Linuxソケットプログラミング -- ネットワークプログラミングにおける実践技法 -- |
||||
|
||||
初版第1刷正誤表 | ||||
原書: Linux Socket Programing, Sean Wolton, ISBN-0672-31935-7, 上記ダウンロードコーナー にソースコードがあります。 |
戻る
■内容 "Linux Socket Programming" は C言語のソケットを使った高性能なプログ ラムを書きたいというときに役に立ちます。本書では一貫して、プロフェッショ ナルによる実用的なヒントをもとに、既存のプロトコル(HTTPなど)あるいは新 たな規格で動作するクライアントとサーバのソケットの書き方を学んだり、ピ アツーピアのネットワークの性能を高めて高速化するためにやや信頼性の低い UDP 通信についても学べます。 TCP/IPプロトコルは接続と信頼性について広範囲にわたるいくつかのメッセー ジタイプの仕様を提供しますが、適切なメッセージタイプを選ぶことにより性 能と信頼性の調和をはかれます。本書ではそれぞれのタイプ(未加工, ICMP, UDP, TCP)について述べてその特徴と欠点を提示し、また、いくつかプログラ ミングの練習を重ねることで既存のIPv4から次世代のIPv6への移行ができるよ うになります。 ネットワークプログラムミングはソケットとプロトコルとに限られるもので はなく、実際に使われるアプリケーションでは、マルチタスクを利用する技術 とサーバーと入出力制御を考慮する必要があり、それに加えて、クラッキング を抑えてサーバーに保存される貴重なデータを守るためにネットワーク・セキュ リティに対しても万全でなくてはなりません。本書ではこれらの話題にも言及 し、マルチスレッドのプログラムやOpenSSLを使ったソケットの書き方にもふ れています。 本書ではさらに Java や C++ のようなオブジェクト指向言語によるソケッ ト・プログラミングについても紹介します。JAVA 2.0 はソケットや入出力や 例外処理を扱うためのいくつかのクラスを提供しています。 本書はリモート・プロシジャ・コール(RPC), ブロードキャスト、マルチキャ スト、および、セキュア・ソケット・レイヤー(SSL)についての章も含みます。 ここで紹介した内容や紹介に洩れたその他の章を読むことにより、読者はさら に複雑な問題を解決するためのプロブラミングを行なう新境地へと導かれます。 ■目次
Part I クライアントから観たネットワーク・プログラミング
1 ネットワーク・クライアント料理法の紹介
2 TCP/IPネットワーク言語の流暢さ
3 インターネットパケットの種類
4 ピア間の送信メッセージ
5 ネットワーク階層化モデルの理解
Part II サーバの観点と負荷制御
6 サーバの手引き
7 負荷をかける:マルチタスク化
8 I/Oを待つときの決め方
9 パフォーマンス・バリアの突破
10 頑丈なLinuxソケットの設計
Part III オブジェクトとしてみるソケット
11 オブジェクトによる時間短縮
12 JavaのネットワーキングAPIの使用
13 C++ソケット・フレームワークの設計と使用
14 オブジェクトの限界
Part IV 高度なソケットの付加価値
15 リモートプロシージャ呼出し(RPC)を使ったネットワークのカプセル化
16 ネットワークプログラムへのセキュリティの追加とSSL
17 マルチキャスト、ブロードキャスト、Mboneを使ってメッセージを共有
18 未加工ソケットの威力
19 IPの次世代
Part V 付録
A データ表
B ネットワーキングAPI
C カーネルAPIサブセット
D オブジェクトのクラス
ショーン・ウォルトン(著), 野村 純子(翻訳), 桑村 潤(監訳) ■著者
Sean Walton(ショーン・ウォルトン) ヒューレットパッカード(HP)社でプリンターの制御OSを開発した他、さまざ まな UNIX 系のOSでプログラミングや管理を行なった経験からシステムに依存 しないオブジェクト指向のプログラミング・スタイルを身に付け、大規模な認 証システムの設計や開発指導の経験を有します。最近ではコンピュータに関す るトレーニングコースの考案や著作活動もしています。
■訳者野村 純子(のむら じゅんこ) 広島女学院大学英米文学科卒業後、アカウンティングファーム、ハードウェ アメーカー、ソフトウェアハウスなどで通訳・翻訳などの仕事に携わってき た。本当はコーヒーを飲みながら推理小説を読むのが趣味。
■監訳桑村 潤(くわむら じゅん) UNIXをベースとした科学技術計算関連のシステム開発などを主とする仕事 の傍ら、LinuxやPostgreSQLなどのオープンソースソフトウェアのプロジェ クトに関わってきた。LSWG(Linux Seminar Working Group講師), Plamo Linux コントリビュータ、日本PHPユーザー会、日本ポストグレスユーザー会の会員。