「JAVAネットワークプログラミング」の改訂版です。Javaでネットワークプログラミングを行うための概念と実装を解説した書籍で、プログラミングの詳細に偏らずネットワークの入門書として使える良書です。改訂にあたり、JAVA2への対応はもちろんSecureSocketsやJavaMailの章を加えました。Javaネットワークプログラミングを行う開発者必携の書籍です。
Javaネットワークプログラミング 第2版
Elliotte Rusty Harold 著、戸松 豊和 監訳、田和 勝 訳
- TOPICS
- Programming , Java
- 発行年月日
- 2001年10月
- PRINT LENGTH
- 832
- ISBN
- 4-87311-061-0
- 原書
- Java Network Programming, 2nd Edition
- FORMAT
目次
監訳者まえがき はじめに 1章 Javaネットワークの魅力 1.1 ネットワークプログラムにできること 1.1.1 データの取り出しと表示 1.1.2 データを繰り返し取り出す 1.1.3 データの送信 1.1.4 ピアツーピア双方向通信 1.1.5 サーバ 1.1.6 Webを探索する 1.1.7 電子商取引 1.1.8 将来のアプリケーション 1.2 まとめ 2章 ネットワークの基本概念 2.1 ネットワーク 2.2 ネットワーク階層 2.2.1 ホスト-ネットワーク層 2.2.2 インターネット層 2.2.3 トランスポート層 2.2.4 アプリケーション層 2.3 IP、TCP、UDP 2.3.1 IPアドレスとドメイン名 2.3.2 ポート 2.4 インターネット 2.4.1 インターネットアドレスクラス 2.4.2 ファイアウォール 2.4.3 プロキシサーバ 2.5 クライアント/サーバモデル 2.6 インターネット標準 2.6.1 IETF RFC 2.6.2 W3C勧告 3章 Webの基本概念 3.1 URI 3.1.1 URN 3.1.2 URL 3.1.3 相対URL 3.2 HTML、SGML、XML 3.3 HTTP 3.4 MIME 3.5 CGI 3.6 アプレットとセキュリティ 3.6.1 アプレットとクラスはどこからやって来るのか 3.6.2 セキュリティ:アプレットが対話する相手と対話の内容 4章 Java I/O 4.1 出力ストリーム 4.2 入力ストリーム 4.2.1 マーキングとリセット 4.3 フィルタストリーム 4.3.1 フィルタをチェーンする 4.3.2 バッファつきストリーム 4.3.3 PrintStream 4.3.4 PushbackInputStream 4.3.5 データストリーム 4.3.6 ストリームを圧縮する 4.3.7 ダイジェストストリーム 4.3.8 ストリームの暗号化 4.4 ReaderとWriter 4.4.1 Writer 4.4.2 OutputStreamWriter 4.4.3 Reader 4.4.4 ReaderとWriterのフィルタ 5章 スレッド 5.1 スレッドの実行 5.1.1 Threadをサブクラス化する 5.1.2 Runnableインタフェースを実装する 5.2 スレッド情報の取得 5.2.1 競合条件 5.2.2 ポーリング 5.2.3 コールバック 5.3 同期化 5.3.1 同期化ブロック 5.3.2 同期化メソッド 5.3.3 同期化の代替手段 5.4 デッドロック 5.5 スレッドのスケジューリング 5.5.1 優先度 5.5.2 プリエンプション(優先権の奪取) 5.6 スレッドプール 6章 インターネットアドレスの処理 6.1 DNS、IPアドレス、その他 6.2 InetAddressクラス 6.2.1 InetAddressオブジェクトの作成 6.2.2 InetAddressオブジェクトを返すその他のメソッド 6.2.3 Objectとしてのメソッド 6.3 いくつかの便利なプログラム 6.3.1 HostLookup 6.3.2 Webサーバログファイルの処理 7章 URLクラスによるデータの取得 7.1 URLクラス 7.1.1 新しいURLの作成 7.1.2 URLを分解する 7.1.3 URLからデータを取得する 7.1.4 ユーティリティメソッド 7.1.5 Objectとしてのメソッド 7.1.6 プロトコルハンドラ用のメソッド 7.2 URLEncoderクラスとURLDecoderクラス 7.2.1 URLEncoder 7.2.2 URLDecoder 7.3 GETを使用してCGIおよびサーブレットとやり取りする 7.4 パスワード保護されたサイトにアクセスする 7.4.1 Authenticatorクラス 7.4.2 PasswordAuthenticationクラス 7.4.3 JPasswordFieldクラス 8章 SwingによるHTML処理 8.1 コンポーネント(GUI構成要素)上のHTML 8.2 JEditorPane 8.2.1 HTMLユーザインタフェースを動的に作成する 8.2.2 ハイパーリンクの処理 8.2.3 HTMLを直接読み込む 8.3 HTMLを解析する 8.3.1 HTMLEditorKit.Parser 8.3.2 HTMLEditorKit.ParserCallback 8.3.3 HTML.Tag 8.3.4 属性 9章 java.applet.Appletのネットワークメソッド 9.1 java.applet.Appletを使用してデータをダウンロードする 9.1.1 アプレットの送信元を調べる 9.1.2 イメージをダウンロードする 9.1.3 サウンドをダウンロードする 9.2 ImageObserverインタフェース 9.2.1 ImageObserverの定数 9.3 MediaTrackerクラス 9.3.1 コンストラクタ 9.3.2 MediaTrackersにImagesを追加する 9.3.3 メディアがロードされたかどうかチェックする 9.3.4 メディアのロードが終了するのを待つ 9.3.5 エラーチェック 9.3.6 メディアのステータスをチェックする 9.3.7 MediaTrackerからイメージを削除する 9.4 java.applet.AppletContextのネットワークメソッド 10章 クライアントソケット 10.1 ソケットの基礎 10.2 Telnetを使用してプロトコルを解析する 10.3 Socketクラス 10.3.1 コンストラクタ 10.3.2 Socketに関する情報を取得する 10.3.3 ソケットのクローズ 10.3.4 Objectとしてのメソッド 10.3.5 ソケットオプションの設定 10.4 ソケット例外 10.5 サンプルプログラム 10.5.1 Finger 10.5.2 Whois 11章 サーバソケット 11.1 ServerSocketクラス 11.1.1 コンストラクタ 11.1.2 接続の受け入れ(accept)と切断(close) 11.1.3 各種getメソッド 11.1.4 Socketオプション 11.1.5 Objectとしてのメソッド 11.1.6 実装 11.2 便利なサーバ 11.2.1 クライアントテスター 11.2.2 HTTPサーバ 12章 安全なソケット 12.1 安全な通信 12.2 安全なクライアントソケットを生成する 12.3 SSLSocketクラスのメソッド 12.3.1 暗号スイートの選択 12.3.2 イベントハンドラ 12.3.3 セッション管理 12.3.4 クライアントモード 12.4 安全なサーバソケットを生成する 12.5 SSLServerSocketクラスのメソッド 12.5.1 暗号スイートの選択 12.5.2 セッション管理 12.5.3 クライアントモード 13章 UDPデータグラムとソケット 13.1 UDPプロトコル 13.2 DatagramPacketクラス 13.2.1 コンストラクタ 13.2.2 各種getメソッド 13.2.3 各種setメソッド 13.3 DatagramSocketクラス 13.3.1 コンストラクタ 13.3.2 データグラムの送信と受信 13.3.3 接続を管理する 13.3.4 Socketオプション 13.4 便利なアプリケーション 13.4.1 単純なUDPクライアント 13.4.2 UDPServer 13.4.3 UDP echoクライアント 14章 マルチキャストソケット 14.1 マルチキャストソケットとは 14.1.1 マルチキャストアドレスとマルチキャストグループ 14.1.2 クライアントとサーバ 14.1.3 ルータと経路制御(ルーティング) 14.2 マルチキャストソケットを使用する 14.2.1 コンストラクタ 14.2.2 マルチキャストグループとのやり取り 14.3 2つの簡単な例 15章 URLConnectionクラス 15.1 URLConnectionをオープンする 15.2 データを読む 15.3 ヘッダを読む 15.3.1 特定のMIMEヘッダフィールドを取得する 15.3.2 任意のMIMEヘッダフィールドを取り出す 15.4 接続を設定する 15.4.1 protected URL url 15.4.2 connected 15.4.3 allowUserInteraction 15.4.4 defaultAllowUserInteraction 15.4.5 doInput 15.4.6 doOutput 15.4.7 ifModifiedSince 15.4.8 useCaches 15.4.9 defaultUseCaches 15.5 クライアントリクエストのMIMEヘッダを設定する 15.6 サーバにデータを書き出す 15.7 コンテントハンドラ 15.7.1 コンテンツの取得 15.7.2 ContentHandlerFactory 15.8 Objectとしてのメソッド 15.9 URLConnectionのセキュリティについて 15.10 MIMEタイプを推測する 15.11 HttpURLConnection 15.11.1 リクエストメソッド 15.11.2 サーバから切断する 15.11.3 サーバの応答を処理する 15.11.4 プロキシ 15.12 JarURLConnection 16章 プロトコルハンドラ 16.1 プロトコルハンドラとは 16.2 URLStreamHandlerを書く 16.2.1 コンストラクタ 16.2.2 URL解析用メソッド 16.2.3 接続用メソッド 16.3 プロトコルハンドラを書く 16.4 プロトコルハンドラの実例とテクニック 16.4.1 daytimeプロトコルハンドラ 16.4.2 chargenプロトコルハンドラ 16.5 URLStreamHandlerFactoryインタフェース 17章 コンテントハンドラ 17.1 コンテントハンドラとは 17.2 ContentHandlerクラス 17.2.1 tab-separated-values(タブで区切られた値)用コンテントハンドラ 17.2.2 ContentHandlerのファクトリ 17.2.3 戻り型を選択する 17.3 ContentHandlerFactoryインタフェース 17.3.1 createContentHandler( )メソッド 17.3.2 ContentHandlerFactoryのインストール 17.4 画像形式image/x-fitsのコンテントハンドラ 18章 Remote Method Invocation 18.1 Remote Method Invocation(RMI)とは 18.1.1 セキュリティ 18.1.2 オブジェクトのシリアライゼーション 18.1.3 RMIの内部動作 18.2 実装 18.2.1 サーバ側 18.2.2 クライアント側 18.2.3 スタブのコンパイル 18.2.4 サーバの起動 18.2.5 クライアントの起動 18.3 クラスの動的ロード 18.3.1 リモートオブジェクトを使用するアプレットクライアント 18.3.2 リモートオブジェクトを使用するアプリケーションクライアント 18.4 java.rmiパッケージ 18.4.1 Remoteインタフェース 18.4.2 Namingクラス 18.4.3 RMISecurityManagerクラス 18.4.4 リモート例外 18.5 java.rmi.registryパッケージ 18.5.1 Registryインタフェース 18.5.2 LocateRegistryクラス 18.6 java.rmi.serverパッケージ 18.6.1 RemoteObjectクラス 18.6.2 RemoteServerクラス 18.6.3 UnicastRemoteObjectクラス 18.6.4 例外 19章 JavaMail API 19.1 JavaMail APIとは 19.2 メールの送信 19.2.1 アプリケーションからメールを送信する 19.2.2 アプレットからメールを送信する 19.3 メールの受信 19.4 パスワード認証 19.5 アドレス 19.5.1 Addressクラス 19.5.2 InternetAddressクラス 19.5.3 NewsAddressクラス 19.6 URLNameクラス 19.6.1 コンストラクタ 19.6.2 解析用メソッド 19.7 Messageクラス 19.7.1 メッセージを作成する 19.7.2 基本ヘッダ情報 19.7.3 フラグ 19.7.4 フォルダ 19.7.5 検索 19.8 Partインタフェース 19.8.1 属性 19.8.2 ヘッダ 19.8.3 コンテンツ 19.9 マルチパートメッセージと添付ファイル 19.10 MIMEメッセージ 19.11 フォルダ 19.11.1 フォルダをオープンする 19.11.2 フォルダ基本情報 19.11.3 フォルダの管理 19.11.4 フォルダ内のメッセージの管理 19.11.5 購読 19.11.6 フォルダの中身をリスト表示する 19.11.7 メールをチェックする 19.11.8 フォルダからメッセージを取得する 19.11.9 フォルダを検索する 19.11.10 フラグ 19.11.11 イベント処理 19.11.12 ユーティリティメソッド