Javaネットワークプログラミングの真髄
著者/訳者:Array
出版社:ソフトバンク クリエイティブ( 2007-04-28 )
定価:¥ 3,885
大型本 ( 408 ページ )
ISBN-10 : 4797341866
ISBN-13 : 9784797341867
ネットワークプログラミングの本の決定版。
Javaのネットワークプログラミングの本であるが、Java以外の言語でプログラミングをしている人にも向いていると思う。言語に特化した記述以外にも、プログラムの設計の指針になる記述もふんだんにあるからである。Socketプログラミングの本は数多くあり、Webでも入門記事は多く見かける。したがって、単純なサーバ・クライアントを作成するだけならお金をかけて本を買う必要はない。本書はそうしたありふれた入門書とは一線を画する記述がある。
中級者以上でも面白い記述がある
TCP/IPは古い設計であるため、色々と問題が指摘されている。TCPは信頼性のある通信を手軽に実現してくれて便利なのだが、TCPのフロー制御や輻輳制御、あるいは公平性についての取り決めは現代の高速ネットワークにはそぐわない点がいくつかある。ほとんどの場合は気にしなくてよいのだけど、必要な場合にはシンプルなUDPを使うこともある。UDPはほとんど何もしないプロトコルなので、TCPがやっている信頼性確保のための色々な工夫を自分で実装しないといけない。こうしたトピックについて気軽に読める本はあまり多くないと思う(大学のネットワークの教科書には書いてある)。
他にもサーバの負荷を考慮して、スレッドで捌くのか、SocketChannelを使って捌くのかなどの詳細な分析などは中級者にとっては面白い読み物となるだろう。
新しい世代の入門書
Javaは古くからSocketによるネットワークがサポートされていたが、最近(と言ってもずいぶん経つが)NIO(New IO)という新しいインターフェースがサポートされた。典型的にはブロッキングを回避するためにコネクションをスレッドに割り当てていたのだが、多くのコネクションをその数だけスレッドを作ってさばいているとパフォーマンスに問題がある。そうした要求に応える新しいインターフェースだが、あまり本は多くないと思う。WebにもNIOの解説はあるのだけど、数は多くない。数が少ないと親切な解説に当たることも少ないので少し困る。
本書は昔ながらのSocket通信はもちろん、NIOにも対応しているので、初心者が最初に手に取る本としても十分に役に立つ。
admin :: 7月.10.2009 :: Java, ネットワーク, プログラミング :: No Comments »

