P2Pアプリケーションデベロップメント

概 要

インスタントメッセージ、ICQ、WinMX、ナップスター、Gnutellaなどの「ピア・ツー・ピア・アプリケーション」が流行しています。本書ではP2Pのソースコードをハッキングしながらその仕組みと実装を学ぶことができます。C#、Java、XMLを使ったアプリケーションの機能を紹介します。豊富なソースコードが提供されており、コードに関して詳細に解説をしています。また付録のCD-ROMにはソースコードが収録されており実際に動作させることも可能です。

著者 ドリームテックソフトウェアチーム
価格 本体4200円(税別)
ISBN 4-7980-0501-0
発売日 2003/02/22
判型 B5変
色数 1色
ページ数 456
CD/DVD Windows
対象読者 上級
シリーズ
表紙イメージ
購入 アマゾンで購入する

※リンク先によっては、販売ページが用意されていないことがあります。 あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

現在サポート情報はありません

目次

第1章 ピアツーピア・プログラミングモデルの概要

P2Pに関する簡単な歴史

クライアント/サーバモデルからP2Pモデルへ

様々なP2Pモデル

ピュア型ピアツーピア

シンプルな発見サーバを介したピアツーピア

発見・検索サーバを介したピアツーピア

発見・検索・コンテンツサーバを介したピアツーピア

既に存在するP2Pアプリケーション

ナップスター(Napster)

グヌーテラ(Gnutella)

様々なP2Pの動作

他のピアの検索

必要とするコンテンツに関するピアへの問い合わせ

他のピアとのコンテンツの共有

共有リソースの検索

サーバ側での検索

クライアント側での検索

P2Pモデルにおける検索技術

本書におけるP2Pアプリケーションの簡単な説明

各コンポーネントの役割

リスナ(Listener)

サーバ(Server)

ブラウザ(Browser)

3つのコンポーネントの関係

リスナとサーバの関係

リスナとブラウザの関係

ブラウザとサーバの関係

どうやってこれらの設計を実現させるか

3つのコンポーネントの使用目的

サマリ

第2章 P2Pアプリケーションの設計

P2Pアプリケーションに対する設計上の配慮

制約

プロキシによるIP解決

データ転送時の問題点

安全性

P2Pアプリケーションの構造

モジュール間で適切な通信を実行する

ASPを使ったリスナとサーバ間通信

ASPを使ったブラウザとサーバ間通信

XMLを使ったリスナとブラウザ間通信

XMLリクエスト/レスポンスに関する設計仕様

サーバ設計

SQL Server 2000

完全なデータベース設計

SQL Server 2000におけるXMLの実装

XMLクリエータ

XMLパーサ

IBM XERCES XMLパーサの使用(Java)

MS XML3.0コンポーネントの使用(C#)

リスナの設計

ServerSocketクラス(Java)

TCPListenerクラス(C#)

複数接続の処理

ファイルとフォルダの検索

ブラウザの設計

サーバへの接続と接続されたユーザのリストの取り出し

他のピアとの接続

ファイルのダウンロードとアップロード

検索

クライアントの動作詳細

サマリ

第3章 P2Pサーバを理解する

SQL Server 2000でのテーブルの作成

主キー

外部キー

SQL Server 2000のSelect文

1つのカラムを選択する

すべてのカラムを選択する

ASPファイルの説明とそのフローチャート

login.asp

login.aspのフローチャートの説明

使用方法

コードの説明

logout.asp

logout.aspのフローチャートの説明

コードの説明

userlist.asp

userlist.aspのフローチャートの説明

コードの説明

userlist.xml

コードの説明

search.asp

search.aspのフローチャートの説明

コードの説明

サマリ

第4章 JavaによるP2Pアプリケーション

リスナソースコード

XMLParserServer.java

コードの説明

Login.java

コードの説明

Shareddilog.java

コードの説明

MultiServer.java

コードの説明

check_directory.java

コードの説明

ブラウザ/クライアントソースコード

SParser.java

コードの説明

XMLWriter.java

コードの説明

client.java

コードの説明

search_window.java

コードの説明

file_gui.java

コードの説明

search_screen.java

コードの説明

add_on.java

コードの説明

サマリ

第5章 P2Pアプリケーション(C#)

ServerCommunicationクラス

ServerCommunicationクラスのコードの説明(clsServerCommunication.cs)

XMLCreaterクラス

XMLCreaterクラス(clsXMLCreater.cs)のコードの説明

XML Parserクラス

XML Parserクラス(clsXMLParser.cs)のコードの説明

Login Form

frmLoginクラス(frmLogin.cs)のコードの説明

共有ファイル/フォルダフォーム

frmSelectionクラス(frmSelection.cs)のコードの説明

クライアントフォーム

frmClientクラス(frmClient.cs)のコードの説明

frmShareクラス

frmShareクラス(frmShare.cs)のコードの説明

検索ウィンドウ

Searchフォーム

frmSearchクラス(frmSearch.cs)のコードの説明

サマリ

第6章 P2Pアプリケーションにおけるストリーミング

本アプリケーションにおけるストリーミング

ストリーミング処理

Windows Media Encoder SDK

Visual C++ 6.0用Windows Media Encoder SDK

P2Pにおけるストリーミングの利用

設計検討

コードの説明(CBroadcastItクラス定義)

コードの説明(CBroadcastItの実装)

コードの説明(CEventsの宣言と実装)

ブラウザ側での変更点

リスナ側での変更点

アプリケーションの実行

サマリ

第7章 P2Pアプリケーションへの追加機能

チャットクライアント

メッセージ交換のためのXMLフォーマット

メッセージング機構の実装

メッセージの送信

コードの説明

メッセージの受信

仕上げ

グローバル印刷の実装

Printボタンのコーディング(ブラウザ)

コードの説明

Printボタンのコーディング(リスナ)

コードの説明

Java2 Micro Editionを使ったPalmからのP2P検索

ユーザインタフェース

動作概要

サマリ

付録A CD-ROMについて

CD-ROMに入っているもの

著者らが作成した素材(P2P Source codeフォルダ)

JavaVersionフォルダ

Listener\Source Codeフォルダ

Browser\Source Codeフォルダ

アプリケーションの実行方法

C#Versionフォルダ

P2Pフォルダ

P2PwithAddonsフォルダ

アプリケーションの実行方法

P2PServerフォルダ

ハードウェア/ソフトウェアに要求されるスペック

ハードウェアの要求スペック

ソフトウェアの要求スペック

Javaバージョン

SunOne Studio

C#バージョン

P2Pサーバ

IIS5.0

トラブルシューティング

PR

秀和システム