Windowsプログラミングシリーズインターネットプログラミング 300の技

[表紙]インターネットプログラミング 300の技

紙版発売

B5判/232ページ

定価2,178円(本体1,980円+税10%)

ISBN 4-7741-1052-3

ただいま弊社在庫はございません。

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

TCP/IPの基礎の基礎から,CGIを使ったデータベース操作,はてはXMLを用いたプログラミングまで幅広く内容満載です。文字索引と機能・目的別索引の充実で必要な時に最適な内容を知ることができる書籍です。

こんな方におすすめ

  • インターネットプログラミングのテクニックについて学びたい方
  • すべてのインターネットプログラミングユーザ

目次

ネットワークの基礎概念

  • 1 ネットワークプロトコルとは?
  • 2 NetBEUIとは?
  • 3 IPX/SPXとは?
  • 4 RFCとは?
  • 5 プロトコルスタックとは?
  • 6 TCP/IPとソケットとの関係
  • 7 ODIとは?
  • 8 NDISとは?
  • 9 トポロジとは?
  • 10 バス型とは?
  • 11 リング型とは?
  • 12 スター型とは?
  • 13 インターネットとは?
  • 14 OSI参照モデルとは?
  • 15 レイヤとは?
  • 16 URLとは?
  • 17 WWWとは?
  • 18 WWWクライアントとは?
  • 19 電子メールとは?
  • 20 DHCPとは?
  • 21 CGIとは?
  • 22 認証とは?

ネットワークプログラミング

  • 23 TCP/IPとは?
  • 24 ソケットとは?
  • 25 ソケットにおける2つの種類とは?
  • 26 ソケットの問題点とは?
  • 27 IPアドレスとは?
  • 28 サブネットとは?
  • 29 ブロードキャストアドレスとは?
  • 30 IPv6とは?
  • 31 ポート番号とは?
  • 32 NATとは?
  • 33 IPマスカレードとは?
  • 34 RASサーバとは?
  • 35 HTTPとは?
  • 36 HTMLとは?
  • 37 SMTPとは?
  • 38 電子メールの送信手順は?
  • 39 POP3とは?
  • 40 PPPとは?

ネットワーク機器

  • 41 xDSLとは?
  • 42 ISDNとは?
  • 43 リピータとは?
  • 44 ハブとは?
  • 45 スイッチングハブとは?
  • 46 ルータとは?
  • 47 ブリッジとは?
  • 48 ゲートウェイとは?
  • 49 ターミナルアダプタとは?
  • 50 ファイヤーウォールとは?

プログラムに入る前に知っておくべきこと

  • 51 最低限のネットワーク開発環境とは?
  • 52 LAN環境で動作するのか?
  • 53 単純なミスを防ぐためには?(オプションの設定)
  • 54 Option Explicitとは?
  • 55 Visual Basicの変数

プログラム開発

  • 56 プログラムの消失を防ぐには?
  • 57 フォームの作業で真っ先にやるべきこととは?
  • 58 配置するコントロール
  • 59 標準以外のコントロールを使うには?
  • 60 ツールバーコントロールとは?
  • 61 イメージリストコントロールとは?
  • 62 Webブラウザコントロールとは?
  • 63 各コンポーネントをフォームに配置するには?
  • 64 一般的なWindowsのツールバーを使うには?
  • 65 ラベルコントロールにおいて,サイズを調整するには?
  • 66 コンボボックスコントロールに初期値を与えるには?
  • 67 コントロールの配置を微調整するには?
  • 68 twipとは?
  • 69 twipを使ってプログミングするには?
  • 70 ツールバーコントロールにボタンを並べるには?
  • 71 イメージリストコントロールを
    • ツールバーコントロールへ関連付けるには?
  • 72 フォームの見た目を綺麗にするには?
  • 73 フォーム上のコントロールに関するまとめ
  • 74 すばやくオブジェクト,イベントを選択するには?
  • 75 フォームのサイズの変化を捉えるには?
  • 76 サイズ変更にともなうプログラム
  • 77 Left,Topプロパティとは?
  • 78 Webブラウザコントロールにおいて,
    • 横幅の変更で注意することとは?
  • 79 現在のフォームを参照するには?
  • 80 Webブラウザコントロールにおいて,
    • 高さの変更で注意することとは?
  • 81 ユーザの入力を知るには?
  • 82 スピードボタンのうち,
    • どれが押されたかを判断するには?
  • 83 プログラムを終了させるには?
  • 84 プログラムを実行するには?
  • 85 ダイアルアップを使わずにデバッグするには?
  • 86 Personal Web Serverとは?
  • 87 Personal Web Server 4.0の新機能とは?
  • 88 2つの実行形式とは?

Winsock APIを使う前に知っておくべきこと

  • 89 Windowsにおけるネットワークとは?
  • 90 TCPとは?
  • 91 UDPとは?
  • 92 Winsockとは?
  • 93 Winsock2とは?
  • 94 Winsock2を利用するには?
  • 95 ブロッキングとは?
  • 96 ブロッキングの問題とは?
  • 97 Windowsのために拡張された関数とは?
  • 98 Winsockを利用する手順は?
  • 99 クライアントとサーバーとは?
  • 100 ソケットプログラムにおけるサーバーとは?
  • 101 ポートとは?
  • 102 ソケットプログラムにおけるクライアントとは?
  • 103 VC++でAPIだけを使うプログラムを作成するには?
  • 104 プロセスの二重起動を防ぐには?
  • 105 APIプログラムでダイアログボックスを使うには?

本章で利用するサンプルプログラムについて

  • 106 サーバーアプリケーションの構成
  • 107 クライアントアプリケーションの構成
  • 108 FTPクライアントの構成

サーバーソケットアプリケーションの作成

  • 109 Winsockを利用する際に,
    • 一番最初にやるべきこととは?
  • 110 スタートアップ処理を行うには?
  • 111 サーバーソケットを作成するには?
  • 112 socket関数を使うには?
  • 113 非ブロッキングモードで実行するには?
  • 114 WSAAsyncSelect関数を使うには?
  • 115 サーバーソケットをバインドするには?
  • 116 bind関数を使うには?
  • 117 サーバーソケットを待ち状態にするには?
  • 118 listen関数を使うには?
  • 119 サーバー接続通知を受け入れるには?
  • 120 accept関数を使うには?
  • 121 クライアントからのデータを受信するには?
  • 122 サーバー側からクライアントへ
    • データの送信を行うには?
  • 123 サーバーソケットのクローズをするには?
  • 124 すべての通信処理が終了した後には何をするか?

クライアントソケットアプリケーションの作成

  • 125 IPアドレスを取得するには?
  • 126 gethostbyname関数を使うには?
  • 127 ホスト名がわからない場合にホスト名を知るには?
  • 128 gethostbyaddr関数を使うには?
  • 129 クライアントソケットを作成するには?
  • 130 クライアントからサーバーへ接続を行うには?
  • 131 connect関数を使うには?
  • 132 クライアントからサーバーへデータの送信を行うには?
  • 133 クライアントからデータを受信するには?
  • 134 終了処理をするには?
  • 135 サーバーとクライアントの操作手順について

FTPクライアントの作成

  • 136 FTPの仕組みとは?
  • 137 FTPのコマンドには何があるか?
  • 138 FTPクライアントについて
  • 139 FTPサーバーへ接続するには?
  • 140 FTPクライアントの実装手順は?
  • 141 FTPサーバーに接続後に真っ先に行うこととは?
  • 142 USERコマンドを実装するには?
  • 143 USERコマンド送信後にやるべきこととは?
  • 144 PASSコマンドを実装するには?
  • 145 PASSコマンドの応答を処理するには?
  • 146 lsコマンドを実装するには?
  • 147 LISTコマンドを実装するには?
  • 148 データ転送用ソケットを作成するには?
  • 149 ソケットを閉じるには?
  • 150 データを受信するには?
  • 151 データ受信処理を実装するには?
  • 152 データ転送用のソケットはいつクローズするか?
  • 153 制御用ソケットに転送が終了した際の処理
  • 154 cdコマンドを実装するには?
  • 155 getコマンドを実装するには?
  • 156 RETRコマンドを実装するには?
  • 157 putコマンドを実装するには?
  • 158 STORコマンドを送信するには?
  • 159 putコマンドによるデータ転送の実装をするには?
  • 160 FTPサーバーとの接続を切断するには?
  • 161 FTPクライアントの利用方法
  • 162 ブラウザがWebページを表示する仕組みとは?
  • 163 WWWサーバにtelnetするには?
  • 164 CGIとは?
  • 165 WebサーバとCGIプログラムの関係
  • 166 WindowsでCGIを実行するには?
  • 167 WindowsにおけるWebサーバーで
    • EXEファイルを実行させるには?
  • 168 CGIファイルはどこに置くべきか?
  • 169 なぜCGI専用のディレクトリが必要なのか?
  • 170 cgi.exeを作るには?
  • 171 CGIとJavaScriptやVBScriptとの違いは?
  • 172 どのような開発ツールが使えるか?
  • 173 なぜCGIプログラムにPerlが多いのか?
  • 174 IISでPerlが使えるのか?
  • 175 Perl CGIプログラムを利用するには(IIS4.0)?
  • 176 Perl CGIプログラムを利用するには
    • (IIS3.0/PWS)?
  • 177 バッチファイルをCGIプログラムとして
    • 利用することはできるのか?
  • 178 PerlIS.DLLとは?
  • 179 文字列を表示するには?
  • 180 コマンドプロンプトでの実行時エラーを防ぐには?
  • 181 hello.plをCGIとして実行するには?
  • 182 HTTPヘッダエラーを取り除くには?
  • 183 文字化けを防ぐには?
  • 184 ブラウザの誤認識を防ぐには?
  • 185 CGIプログラムを呼び出すには?
  • 186 CGIプログラムをフレーム内に指定するには?
  • 187 HTML内のFORMからCGIプログラムを呼び出すには?
  • 188 ブラウザから送られてきたデータを解析するには?
  • 189 多くの情報をCGIに渡すには?
  • 190 正規表現とは?
  • 191 ダブルクォーテーションと
    • シングルクォーテーションの違いは?
  • 192 qやqqという表記の意味は?
  • 193 JavaScriptからCGIプログラムを呼び出すには?
  • 194 JavaScriptでCGIをパラメータ付で呼び出すには?
  • 195 JavaScriptを使用して入力チェックするには?
  • 196 JavaアプレットからCGIプログラムを呼び出すには?
  • 197 JavaアプレットからCGIをPOSTによって呼び出すには?
  • 198 CGIのライブラリを入手するには?
  • 199 Perlモジュールをインストールするには?
  • 200 cgi-lib.plライブラリを使用するには?
  • 201 jcode.plライブラリを使用するには?
  • 202 Perlスクリプト内で効率よくHTMLを記述するには?
  • 203 クライアントの情報をCGIプログラムで参照するには?
  • 204 クッキーを送受信するには?
  • 205 ブラウザのキャッシュを制御するには?
  • 206 HTML内にCGIの出力結果を埋め込むには?
  • 207 アクセスカウンタを作成するには?
  • 208 イメージを使って
    • きれいなアクセスカウンタを作成するには?
  • 209 ファイルをロックするには?
  • 210 CGIでメールを送信するには?
  • 211 Perlスクリプトでメールを送信するには?
  • 212 文字化けしないメールを送信するには?
  • 213 Perlでデータベースアクセスするには?
  • 214 ODBC以外でデータベースにアクセスするには?
  • 215 アンケートフォームを作成するには?
  • 216 フォーム内に入力フィールドを作成するには?
  • 217 フォーム内にラジオボタンを作成するには?
  • 218 フォーム内にコンボボックスを作成するには?
  • 219 アンケートをデータベースに保存するには?
  • 220 アンケート結果を集計するCGIプログラムを作成するには?

ISAPIエクステンション

  • 221 ISAPIエクステンションとは?
  • 222 最適な開発ツールとは?
  • 223 ウィザードを使用して
    • ISAPIエクステンションを作成するには?
  • 224 ウィザードで生成されたソースコードの意味は?
  • 225 ウィザードで作成したISAPIエクステンションを
    • コンパイルするには?
  • 226 作成したISAPIエクステンションを実行するには?
  • 227 コマンドを追加するには?
  • 228 IISのサービスを停止させるには?
  • 229 引数付きのコマンドを追加するには?
  • 230 HTMLからISAPIエクステンションを呼び出すには?
  • 231 要求メソッドによって処理を変える必要はあるのか?
  • 232 ブラウザに結果を返すには?
  • 233 HTTPヘッダを変更するには?
  • 234 タイトルを変更するには?
  • 235 ISAPIエクステンションを呼び出すには?
  • 236 コマンドが正しく呼び出せない場合には?
  • 237 ISAPIエクステンションで
    • データベースアクセスすることは可能か?
  • 238 スレッドセーフとは?
  • 239 カウンタを作成するには?
  • 240 クリティカルセクションを使用するには?
  • 241 CDatabeseを利用するには?
  • 242 データベースにアクセスするには?
  • 243 データベースを操作するには?
  • 244 データベースアクセスはスレッドセーフか?
  • 245 汎用的なデータベースアクセスを行うには?
  • 246 ブラウザの情報を参照するには?
  • 247 クッキーを送信するには?
  • 248 クッキーを受信するには?
  • 249 効率よく開発するには?
  • 250 IIS3.0でISAPIエクステンションのキャッシュを
    • 無効にするには?
  • 251 IIS4.0,5.0でISAPIエクステンションのキャッシュを
    • 無効にするには?
  • 252 IIS側でデバッグする前にやっておくべきこととは
    • (Windows NT Server4.0)?
  • 253 Windows 2000 Serverにおいて,
    • 権利を委譲するには?
  • 254 IIS3.0でISAPIエクステンションをデバックするには?
  • 255 IIS4.0でプロセスにアタッチしてデバッグをするには?
  • 256 IIS5.0でinetinfo.exeを
    • 親プログラムとしてデバッグするには?

ISAPIフィルタ

  • 257 ISAPIフィルタとは?
  • 258 ISAPIフィルタでのイベントには
    • どのようなものがあるか?
  • 259 イベントはいつ発生するか?
  • 260 開発ツール何を使うか?
  • 261 何ができるのか?
  • 262 ウィザードを使用してISAPIフィルタを作成するには?
  • 263 ウィザードで生成されたソースコードの意味は?
  • 264 実際にフィルタを実装するには?
  • 265 イベントのマッピングを追加するには?
  • 266 IIS3.0にISAPIフィルタを登録するには?
  • 267 IIS4.0にISAPIフィルタを登録するには?
  • 268 認証フィルタを作成するには?

Active Directory概要

  • 269 Active Directoryとは?

Active Directoryを支える基盤技術

  • 270 TCP/IPとは?
  • 271 X.500/LDAPとは?
  • 272 オブジェクト指向とCOMとは?
  • 273 Kerberos認証プロトコルとは?
  • 274 DNSとは?

Active Directoryの用語

  • 275 ディレクトリサービス(Directory Service)とは?
  • 276 ドメインツリー(Domain Trees)とは?
  • 277 ドメインコントローラ(Domain Controller)とは?
  • 278 ドメイン(Domain)とは?
  • 279 パーティション(Partition)とは?
  • 280 ネームスペース(Namespace)とは?
  • 281 オブジェクト名(Object Names)と
    • 識別子(Identities)とは?
  • 282 コンテナオブジェクト(Containers Object)とは?
  • 283 リーフオブジェクト(Leaves Object)とは?
  • 284 DHCPとダイナミックDNS(Dynamic DNS)とは?
  • 285 フォレスト(Forests)とは?
  • 286 スキーマ(Schema)とは?
  • 287 クラススキーマ(Class Schema)とは?
  • 288 アトリビュートスキーマ(Attribute Schema)とは?
  • 289 シンタックススキーマ(Syntax Schema)とは?

ADSI(Active Directory Service Interface)

  • 290 Active Directoryサービスが動作する環境とは?
  • 291 ADSI(Active Directory Service Interface)とは?
  • 292 ADSI以外にはどのようなインターフェイスがあるか?
  • 293 ADSI SDKとは?
  • 294 ADSIのオンラインヘルプを見るには?
  • 295 Visual Basic 6.0で
    • ADSI APIを利用できるようにするには?
  • 296 Visual C++ 6.0で
    • ADSI APIを利用できるようにするには?
  • 297 Unicode文字列とは?
  • 298 BSTR型とは?
  • 299 VARIANT型とは?
  • 300 SAFEARRAY型とは?
  • 301 ADSIネームスペースとADsPathストリングとは?
  • 302 COMとしてのADSIオブジェクトとは?
  • 303 ADSIオブジェクトの種類は?
  • 304 ADSIヘルパー関数とは?
  • 305 ADSIにおけるメソッド,アトリビュート,
    • プロパティとは?
  • 306 C/C++言語でADSIを利用するための決まり文句は?
  • 307 ADSIオブジェクトを特定するには?
  • 308 DNSドメイン名を確認するには
    • (Windows標準のツールを使う)?
  • 309 DNSドメイン名を確認するには
    • (ADSI SDK付属のツールを利用する)?
  • 310 DNSドメイン名を確認するには
    • (ADSIオブジェクトを利用する)?
  • 311 ADSIオブジェクトを利用できるようにするには?
  • 312 ADSIオブジェクトのインターフェイスを使うには?
  • 313 IADsインターフェイスとは?
  • 314 IADsContainerインターフェイスとは?
  • 315 IADsNamespacesインターフェイスとは?
  • 316 IADsOpenDSObjectインターフェイスとは?
  • 317 ドメインに依存しないADSIプログラミングをするには?
  • 318 Active Directoryにおけるユーザとは?
  • 319 IADsUserインターフェイスとは?
  • 320 ユーザ情報を取得するには?
  • 321 ユーザ情報を変更するには?
  • 322 新しいユーザを生成するには?
  • 323 既存のユーザを削除するには?
  • 324 ユーザオブジェクトのリストを取得するには?
  • 325 ユーザオブジェクトを探すには(Visual Basic編)?
  • 326 IDirectorySearchインターフェイスとは?
  • 327 ユーザオブジェクトを探すには(C/C++編)?
  • 328 ADS_SEARCHPREF_INFO構造体について
  • 329 ADS_SEARCHPREF_INFO構造体の
    • 検索オプションの内容(vValue)について
  • 330 ADSTYPE型について
  • 331 ADS_SEARCHPREF_INFO構造体の
    • 検索オプションの種類(dwSearchPref)について
  • 332 ADS_PROV_SPECIFIC構造体について
  • 333 ADS_SEARCH_COLUMN構造体について

XMLプログラミングを始める前に覚えておくこと

  • EX1 XMLの登場背景
  • EX2 XMLの特徴とは?
  • EX3 XMLにおけるとらえ方,考え方の違い
  • EX4 関連応用技術
  • EX5 必要とされるランタイム
  • EX6 なぜXMLは企業間の商取引に有効なのか?
  • EX7 XMLの構造
  • EX8 XMLにおける構造の分離(DTDとは?)
  • EX9 XMLスキーマとは?
  • EX10 なぜデータと構造を分離するのか
    • (疎結合ソリューションとは)?
  • EX11 アプリケーションにおける適用
  • EX12 XMLを使う前に忘れてはならないこと

DOMを使ったXMLプログラミング

  • EX13 DOMのオブジェクトモデル
  • EX14 XMLドキュメントのロード
  • EX15 ファイルとしてXMLドキュメントを得るには?
  • EX16 文字列データとしてXMLドキュメントを得るには?
  • EX17 DOMによるElement(要素)の取得
  • EX18 入れ子状態の要素を持つ
    • ドキュメントを処理するには?
  • EX19 XML Data-islandとは?
  • EX20 XML Data-islandを作成するには?
  • EX21 ASPを用いてXML Data-islandを作成するには?
  • EX22 データを埋め込むには?
  • EX23 データを表の中に組み込むには?
  • EX24 XML Data-islandにて外部に用意されたデータを
    • 参照するには?
  • EX25 文字列として変換したXMLドキュメントを
    • 取得するには?
  • EX26 マッピング後のデータを
    • Document Objectとして保持するには?
  • EX27 XSLでユーザーインターフェースを作成するには?
  • EX28 XSLとCSSを組み合わせるには?
  • EX29 XSLファイルを作成するには?
  • EX30 最後に実行されるXSLコードとは?
  • EX31 XMLドキュメントから
    • 必要なデータを抜き出すには?
  • EX32 XSL内部にリンクを設定するには?
  • EX33 複数の要素を列挙するには?
  • EX34 コードを分散して記述するには?
  • EX35 XSLとXMLを表示すると
  • EX36 CSSファイルを利用するには?
  • EX37 なぜCSSファイルを分割するのか?
  • EX38 データ変換を行うには?
  • EX39 XSLTを使わずに変換するには?
  • EX40 XSLを利用してデータ変換するには?
  • EX41 XSLをVBScriptで利用するには?
  • EX42 XSLを使う変換のメリット

ADOを利用したXMLプログラミング

  • EX43 どうやってデータベースと連携するのか?
  • EX44 データベースアクセス必要な環境とは
  • EX45 レコードセットをXML化するには?
  • EX46 レコードセットを生成するには?
  • EX47 生成したレコードセットを
    • XMLドキュメントに保存するには?
  • EX48 Saveメソッドにより保存された
    • XMLドキュメントの構造は?
  • EX49 ファイルで保存せずに値を保持するには?
  • EX50 XMLドキュメントの生成が完了した後に
    • すべきこととは?
  • EX51 XMLドキュメントを
    • レコードセットに変換するには?

目的・機能別索引 222

用語索引 226

著者紹介 231