PINGOCX 株 式 会 社 ウィル
Microsoft Windows Windows NT Visual Basic ActiveX Office Access Excel は 米 国 Microsoft Corporation の 米 国 ならびに 各 国 における 登 録 商 標 です その 他 本 書 に 掲 載 されている 会 社 名 製 品 名 はそれぞれ 各 社 の 商 標 又 は 登 録 商 標 です
目 次 は じ め に...3 動 作 環 境 について...4 インストール...5 サンプルを 見 る...7 サポートについて...8 バージョンアップについて( 無 償 )...9 再 配 布 について...11 プログラミング 概 要...12 最 大 受 信 回 数 を 指 定...14 タイムアウトを 指 定...14 PING の 開 始...14 エコー 応 答 を 受 信...15 PING の 終 了...15 技 術 情 報...16 状 態 遷 移 図...17 プロパティ...19 MaxCount プロパティ...20 Timeout プロパティ...21 Copyright プロパティ...22 UseSendData プロパティ...23 MaxRecvDataSize プロパティ...24 TTL プロパティ...25 メソッド...26 Close メソッド...27 LastError メソッド...28 Send メソッド...29 Stat メソッド...30 SetSendData メソッド...31 GetRecvData メソッド...32 イベント...33 Closed イベント...34 1
Replied イベント...35 Resolved イベント...36 Winsock エラーコード...37 サンプル...39 IsAlive...40 WILLPING...41 PING Mult...43 索 引...45 2
は じ め に 3
はじめに 動 作 環 境 について 対 応 OS PINGOCX は 以 下 に 示 す OS で 動 作 確 認 を 行 っております Microsoft Windows 95 Microsoft Windows 98 Microsoft WindowsNT 4.0 Microsoft Windows 2000 Microsoft Windows XP Microsoft Windows 2003 開 発 に 必 要 なソフトウェア PINGOCX をご 使 用 いただくには 以 下 のいずれかのソフトウェアが 必 要 です Microsoft Visual Basic Ver 5.0 Microsoft Visual Basic Ver 6.0 Microsoft Office 2000 (Access Excel) Winsock2 をサポートしていない 環 境 では 使 用 することができません Windows 95 では 標 準 サポートされていませんが 下 記 の URL から Winsock2 へのバージョンアップが 可 能 です Winsock2 がサポートされているかどうかは システムディレクトリに Ws2_32.DLL がある かどうかを 調 べることでわかります http://www.microsoft.com/windows95/downloads/contents /wuadmintools/s_wunetworkingtools/w95sockets2/default.asp (URL は 長 いので 途 中 で 折 り 返 していますが 1 行 です) PINGOCX は Microsoft Visual C++ Ver5.0 で 作 成 しています サンプルは Microsoft Visual Basic Ver.5.0 で 作 成 しています 本 製 品 は 日 本 語 環 境 のみの 対 応 となります 4
はじめに インストール セットアップキット(Willware.exe)をダブルクリックします 画 面 にしたがって インストールを 進 めて 下 さい 1. インストールを 始 めます 次 へ をクリックして 下 さい 2. 使 用 許 諾 契 約 書 です 内 容 に 同 意 される 場 合 は 次 へ をクリックして 下 さい 3. インストール 先 のフォルダを 指 定 します 初 期 設 定 でよろしければ 次 へ をクリックして 下 さい 別 のフォルダを 指 定 したい 場 合 は 参 照 をクリック し フォルダを 指 定 して 下 さい 4. インストール 中 に 置 換 されるファイルのバックアッ プを 作 成 できます そのバックアップファイルの 保 存 先 フォルダを 指 定 します 初 期 設 定 でよろしけ れば 次 へ をクリックして 下 さい 5
はじめに 5. WILLWARE Components を 登 録 するスタートメニ ュー 又 はプログラムマネージャのグループフォル ダを 指 定 します 初 期 設 定 では 新 規 に WILLWARE Components の 名 前 でフォルダを 作 成 します 特 に 指 定 する 必 要 がなければ 初 期 設 定 をお 勧 めします 6. プログラムのコピーを 開 始 します 次 へ をクリッ クして 下 さい 7. プログラムのコピーをしています 中 断 する 場 合 は キャンセル をクリックして 下 さい 8. インストールが 完 了 しました 完 了 をクリックし インストールを 終 了 して 下 さい 6
はじめに サンプルを 見 る インストールが 完 了 すると スタートメニューに WILLWARE OCX が 追 加 されます WILLWARE OCX の サンプル を 起 動 すると WILLWARE Components サンプル 画 面 が 表 示 されます サンプルの 起 動 またはそれぞれのソースを 開 くことができます 7
はじめに サポートについて 原 則 としてサポートは 行 いませんので お 問 い 合 わせはご 遠 慮 下 さい 8
はじめに バージョンアップについて( 無 償 ) 製 品 のバージョンアップは すべて 無 償 です バージョンアップ 情 報 の 入 手 方 法 バーションアップの 情 報 は 弊 社 ホームページの 新 着 情 報 で 通 知 し 各 商 品 のペー ジの 更 新 履 歴 で 更 新 内 容 を 掲 示 致 します 最 新 バージョンの 入 手 方 法 最 新 バージョンのプログラムは 弊 社 ホームページ(http://www.will-ltd.co.jp/)のダ ウンロードのページよりダウンロードすることが 出 来 ます ダウンロードするファイル は 以 下 のバージョンアップの 目 的 により 異 なりますのでご 注 意 下 さい WILLWARE Components( 全 製 品 用 )セットアップキットを 利 用 してバージョンアップ ファイル 名 : Willocx.exe WILLWARE Components( 全 製 品 用 )セットアップキットは 全 ての 製 品 をインストール するためのものです そのため 本 製 品 以 外 の 製 品 及 びサンプル マニュアルも 同 時 に バージョンアップされます 各 コンポーネント 毎 のセットアップキットを 利 用 してバージョンアップ ファイル 名 : ocx.exe 各 コンポーネントのファイル(ocx dll) 及 び 依 存 ファイルのみバージョンアップされま す サンプル 及 びマニュアルはバージョンアップされませんのでご 注 意 下 さい 9
はじめに バージョンアップをする 前 に 各 セットアップキットを 利 用 してバーションアップをする 前 に 以 下 のことにご 注 意 下 さ い WILLWARE Components( 全 製 品 用 )セットアップキットを 利 用 してバージョンアップ する 場 合 は 古 いバージョンをアンインストールしてから 最 新 バージョンをインストー ルすることをお 勧 めいたします アンインストールの 方 法 は スタートメニューから 設 定 コントロールパネル アプリケーションの 追 加 と 削 除 の 画 面 で WILLWARE Components を 選 択 し 画 面 の 指 示 に 従 って 行 って 下 さい 各 コンポーネント 毎 のセットアップキットを 利 用 してバージョンアップする 場 合 は 最 新 バージョンをそのままインストールして 下 さい 古 いファイルは 上 書 きされます 弊 社 製 品 を 複 数 ご 利 用 いただいている 場 合 いずれか1つをバーションアップして も 他 の 製 品 に 影 響 はありません バージョンアップの 方 法 セットアップキットをダブルクリックし 画 面 の 指 示 に 従 ってインストールを 進 めて 下 さ い 10
はじめに 再 配 布 について 作 成 したアプリケーションの 配 布 時 PINGOCX を 単 体 あるいはアプリケーションに 組 込 んでの 再 配 布 を 許 可 します 再 配 布 時 に 必 要 な 配 布 可 能 ファイル PINGOCX を 利 用 して 作 成 したアプリケーションを 配 布 する 場 合 には 以 下 のファイル を 添 付 する 必 要 があります ( ) 内 は 推 奨 バージョンです PING.OCX MFC42.DLL (Ver 4.21.7022) MFC42LOC.DLL (Ver 4.21.7022) MSVCRT.DLL (Ver 5.00.7022) OLEPRO32.DLL (Ver 5.0.4118) OLEAUT32.DLL (Ver 2.20.4118) セットアップウィザードを 使 用 する 場 合 PINGOCX をインストールすると 自 動 的 に OCX の 依 存 ファイルが 以 下 のディレクトリ にインストールされます C:\Windows\system (Windows95, Windows98 の 場 合 ) C:\WINNT\system32 (WindowsNT4.0, Windows2000, Windows2003 の 場 合 ) C:\Windows\system32(WindowsXP の 場 合 ) セットアップウィザードを 実 行 すると 自 動 的 にアプリケーション 配 布 時 に 必 要 な OCX ( 内 部 で 利 用 している OCX)と DLL ファイルが Setup.lst ファイルに 追 加 されます 著 作 権 PINGOCX およびこれに 付 随 するマニュアルの 著 作 権 は 株 式 会 社 ウィル( 横 浜 市 保 土 ヶ 谷 区 )にあります 本 ソフトウエアおよびマニュアルを 運 用 した 結 果 については 当 社 は 一 切 責 任 を 負 いません 本 ソフトウエアの 仕 様 またはマニュアルに 記 載 されている 事 項 は 予 告 無 く 変 更 する ことがあります マニュアルなどに 記 載 されている 会 社 名 製 品 名 は 各 社 の 商 標 および 登 録 商 標 です PINGOCX を 利 用 するアプリケーションは PINGOCX の 著 作 権 表 示 を 行 わなければ なりません Copyright プロパティに PINGOCX の 著 作 権 を 示 す 文 字 列 があります アプリケーションまたはドキュメントのいずれかにこの 文 字 列 を 表 示 して PINGOCX を 使 用 していることを 示 してください 11
12 プログラミング 概 要
プログラミング 概 要 ここでは PINGOCX の 使 い 方 の 概 要 を 述 べます メソッド プロパティ イベントの 具 体 的 な 説 明 は それぞれの 項 で 説 明 していますので 適 宜 参 照 してください 13
プログラミング 概 要 最 大 受 信 回 数 を 指 定 ホストアドレスとしてブロードキャストアドレスを 指 定 した 場 合 ホストからのエコー 応 答 は 複 数 になることがあります MaxCount はいくつの ICMP エコー 応 答 メッセージを 受 け 取 るかを 決 定 します 例 :Ping1.MaxCount = 254 ホストに 到 達 可 能 かどうかを 調 べる 場 合 は 1 を 指 定 します 例 :Ping1.MaxCount = 1 タイムアウトを 指 定 ホストからの ICMP エコー 応 答 メッセージが 受 信 できない 場 合 一 定 時 間 経 過 した 時 点 で 応 答 なしとみなします ホスト 名 から IP アドレスへの 変 換 に 要 した 時 間 はタイムアウト には 含 まれません 時 間 はミリ 秒 単 位 で 指 定 します 通 常 1 秒 程 度 でよいでしょう (デフ ォルトは 1000) 例 :Ping1.Timeout = 5000 '5 秒 指 定 された 時 間 内 に MaxCount で 指 定 した 数 のメッセージが 受 け 取 れないと たとえ Replied イベントが 発 生 していても Closed イベントの Code は 1(タイムアウト)になります PING の 開 始 ホスト 名 を 指 定 して PING を 開 始 します ホスト 名 には IP アドレスまたは 名 前 のどちら でも 指 定 することができます 名 前 を 指 定 した 場 合 最 初 に 名 前 を IP アドレスに 変 換 して から PING を 開 始 します 名 前 を IP アドレスに 変 換 するには 時 間 を 要 することがあります 名 前 を 見 つけることができない 場 合 は Closed イベントで 通 知 します 例 :Ping1.Send "127.1" 例 :Ping1.Send "hostname" 名 前 が 解 決 する(IP アドレスに 変 換 することができる)と Resolved イベントが 発 生 しま す 10 進 ドット 形 式 で 指 定 した 場 合 もイベントは 発 生 します 例 : Private Sub Ping1_Resolved(ByVal RemoteIpAddress As String) m_remoteip = RemoteIpAddress 'あとで 利 用 するために 記 憶 する End Sub 14
プログラミング 概 要 エコー 応 答 を 受 信 ホストからの ICMP エコー 応 答 メッセージが 受 信 できると Replied イベントが 発 生 しま す Replied イベントには 相 手 の IP アドレスである Remote( 文 字 列 10 進 ドット 形 式 ) 往 復 に 要 した 時 間 である TripTime(ミリ 秒 ) 及 び TTL(TimeToLive 生 存 時 間 )が 渡 されま す Remote には 応 答 したホストの IP アドレスが 10 進 ドット 形 式 ( 例 :192.13.22.4)の 文 字 列 で 格 納 されています TripTime には 送 信 時 にセットした 時 間 と 受 信 時 の 時 間 を 引 き 算 して 求 められた 時 間 がミリ 秒 単 位 で 格 納 されています PINGOCX は 時 刻 の 測 定 に GetTickCount API を 使 用 しています TTL には ホストから 自 ホストまでに 経 由 したルータの 数 を 推 定 するための 情 報 が 格 納 されています UNIX では 初 期 値 を 255 にセットする 場 合 が 多 く 古 い UNIX では 30 や 60 などに 設 定 され Windows では 128 に 設 定 されます 応 答 メッセージが 返 送 されてくる 途 中 ルータで TTL は 1 づつ 減 じられます たとえば TTL が 253 である 場 合 2 つのルータを 経 由 したと 想 像 できます 例 : Private Sub Ping1_Replied(ByVal Remote As String, ByVal TTL As Long, ByVal TripTime As Long) MsgBox "ホスト" & Remote & "は 生 きています " End Sub PING の 終 了 以 下 の 場 合 には Closed イベントが 発 生 します (1)ホストからの 応 答 が 最 大 受 信 回 数 に 達 した 場 合 (2) 何 らかのエラーがあった 場 合 (3) 応 答 待 ちの 状 態 でタイムアウトした 場 合 (4)Close メソッドを 発 行 した 場 合 Closed イベントでは 終 了 理 由 を 示 す 数 (0~3; pinglib.pingendnormal, pinglib.pingendtimeout, pinglib.pingendclosed, pinglib.pingenderror)が Code 変 数 に 渡 され ます (1) Code が 0(pinglib.pingEndNormal)の 場 合 応 答 が 最 大 受 信 回 数 (MaxCount プロパティで 指 定 した 回 数 )に 達 したことを 示 しま す (2) Code が 1(pinglib.pingEndTimeout)の 場 合 最 大 受 信 回 数 に 達 しない 場 合 で タイムアウト(Timeout プロパティで 指 定 した 時 間 ) 15
プログラミング 概 要 となったことを 示 します (3) Code が 2(pinglib.pingEndClosed)の 場 合 Close メソッドによる 中 断 を 示 します (4) Code が 3(pinglib.pingEndError)の 場 合 Send メソッド 後 にエラーが 発 生 したことを 示 します エラーが 発 生 した 場 合 エラー コードを LastError メソッドで 知 ることができます 例 : Private Sub Ping1_Closed(ByVal Code As Long) Select Case Code Case pinglib.pingendnormal '0 MsgBox " 正 常 終 了 " Case pinglib.pingendtimeout '1 MsgBox "タイムアウト" Case pinglib.pingendclosed '2 MsgBox " 強 制 終 了 " Case pinglib.pingenderror '3 MsgBox "エラー:" & Ping1.LastError End Select End Sub 技 術 情 報 ICMP のパケットサイズ(IP ヘッダのサイズは 含 みません)は 76 バイトです 16
状 態 遷 移 図 17
状 態 遷 移 図 初 期 状 態 (PingINIT) Send メソッド 名 前 解 決 待 ち 状 態 (PingRESOLVING) Resolved イベント タイムアウト or 異 常 終 了 応 答 待 ち 状 態 Rreplied イベント (PingSENDING) 初 期 状 態 以 外 Closed メソッド Closed イベント E N D (PingINIT) 18
プロパティ 19
プロパティ MaxCount プロパティ 機 能 エコー 応 答 を 受 け 取 る 数 を 設 定 します 構 文 Object.MaxCount[=Value] MaxCount プロパティの 構 文 の 指 定 項 目 は 次 のとおりです ( 指 定 項 目 ) ( 内 容 ) Object PINGOCX オブジェクトです Value エコー 応 答 の 受 信 数 を 設 定 します 次 の 設 定 値 を 参 照 してください 設 定 値 Value の 設 定 値 は 以 下 の 通 りです ( 値 ) ( 説 明 ) 正 エコー 応 答 の 受 信 数 上 記 以 外 1 として 扱 われる データ 型 長 整 数 (Long) 解 説 プロパティに 0 以 下 を 設 定 した 場 合 は 1 に 変 換 されます 20
プロパティ Timeout プロパティ 機 能 エコー 応 答 を 受 け 取 るための 待 機 時 間 を 設 定 します 構 文 Object.Timeout[=Value] Timeout プロパティの 構 文 の 指 定 項 目 は 次 のとおりです ( 指 定 項 目 ) ( 内 容 ) Object PINGOCX オブジェクトです Value 待 機 時 間 を 示 す 長 整 数 です 次 の 設 定 値 を 参 照 してください 設 定 値 Value の 設 定 値 は 次 の 通 りです ( 値 ) ( 説 明 ) -1 タイムアウトしない ( 初 期 値 ) 0 及 び 正 タイムアウト 値 上 記 以 外 不 定 データ 型 長 整 数 (Long) 解 説 ホストからエコー 応 答 を 受 け 取 るための 待 機 時 間 をミリ 秒 単 位 で 設 定 します Timeout プロパティを-1 以 外 に 設 定 するとタイムアウトイベントが 発 生 します 21
プロパティ Copyright プロパティ 機 能 PINGOCX のバージョン 情 報 です アプリケーション 作 成 者 は アプリケーションプロ グラムまたはマニュアルに ここで 表 示 される 文 字 列 を 表 記 するようにしてください 構 文 Object.Copyright Copyright プロパティの 構 文 の 指 定 項 目 は 次 の 通 りです ( 指 定 項 目 ) ( 内 容 ) Object PINGOCX オブジェクトです データ 型 文 字 列 (String) 22
プロパティ UseSendData プロパティ 機 能 SetSendData メソッドを 使 って 任 意 のデータを 送 信 するかどうかを 指 定 します 構 文 Object.UseSendData[=Value] UseSendData プロパティの 構 文 の 指 定 項 目 は 次 のとおりです ( 指 定 項 目 ) ( 内 容 ) Object PINGOCX オブジェクトです Value 任 意 のデータを 示 すブール 値 です 設 定 値 Value の 設 定 値 は 次 の 通 りです ( 値 ) ( 説 明 ) True SetSendData メソッドを 使 って 登 録 したデータを 送 信 します False 規 定 のデータを 送 信 します ( 初 期 値 ) 次 の 設 定 値 を 参 照 してくだ さい データ 型 ブール 型 (boolean) 解 説 規 定 のデータのフォーマット: マシンの 起 動 時 からの 経 過 時 間 [ミリ 秒 ](4 バイト) 半 角 文 字 ('U')(64 バイト) 23
プロパティ MaxRecvDataSize プロパティ 機 能 受 信 サイズを 設 定 します 構 文 Object.MaxRecvDataSize[=Value] MaxRecvDataSize プロパティの 構 文 の 指 定 項 目 は 次 のとおりです ( 指 定 項 目 ) ( 内 容 ) Object PINGOCX オブジェクトです Value 受 信 するデータサイズを 示 す 長 整 数 です 次 の 設 定 値 を 参 照 して ください 設 定 値 Value の 設 定 値 は 次 の 通 りです ( 値 ) ( 説 明 ) 0 送 信 したときのデータ 長 まで 受 信 します 正 指 定 したデータのサイズまで 受 信 します データ 型 長 整 数 (Long) 24
プロパティ TTL プロパティ 機 能 送 信 時 の TTL を 設 定 します 構 文 Object.TTL[=Value] TTL プロパティの 構 文 の 指 定 項 目 は 次 のとおりです ( 指 定 項 目 ) ( 内 容 ) Object PINGOCX オブジェクトです Value TTL を 指 定 する 長 整 数 です 次 の 設 定 値 を 参 照 してください 設 定 値 Value の 設 定 値 は 次 の 通 りです ( 値 ) ( 説 明 ) -1 そのマシンの 規 定 値 が 使 用 されます ( 初 期 値 ) 0~255 指 定 した 値 が TTL に 設 定 されてデータが 送 信 されます データ 型 長 整 数 (Long) 25
26 メソッド
メソッド Close メソッド 機 能 PING を 終 了 します 構 文 Object.Close() Close メソッドの 構 文 の 指 定 項 目 は 次 のとおりです ( 指 定 項 目 ) ( 内 容 ) Object PINGOCX オブジェクトです 戻 り 値 なし 解 説 PING を 終 了 します pinginit(stat メソッドで 確 認 ) 以 外 の 場 合 終 了 できたなら Closed イベントを 発 生 します pinginit の 場 合 Closed イベントは 発 生 しませんが 特 に エラーも 発 生 しません 27
メソッド LastError メソッド 機 能 Send メソッド 後 に 発 生 した 詳 細 エラーコードを 示 します 構 文 Object.LastError() LastError メソッドの 構 文 の 指 定 項 目 は 次 のとおりです ( 指 定 項 目 ) ( 内 容 ) Object PINGOCX オブジェクトです 戻 り 値 長 整 数 (Long) 戻 り 値 は 次 の 通 りです ( 値 ) ( 説 明 ) -1 タイマーの 作 成 に 失 敗 です 上 記 以 外 Winsock のエラーです ( 後 述 の Winsock エラーコードを 参 照 してくださ い ) 解 説 PINGOCX 内 で 呼 び 出 した Win32 API または Winsock のエラーコードです 28
メソッド Send メソッド 機 能 ホスト 名 を 指 定 して PING を 開 始 します 構 文 Object.Send(RemoteHost As String) Send メソッドの 構 文 の 指 定 項 目 は 次 のとおりです ( 指 定 項 目 ) ( 内 容 ) Object PINGOCX オブジェクトです RemoteHost ホスト 名 戻 り 値 なし 解 説 指 定 したホスト 名 に 対 し PING を 開 始 します ホスト 名 には IP アドレスまたは 名 前 の どちらでも 指 定 することができます 29
メソッド Stat メソッド 機 能 PINGOCX の 内 部 状 態 を 示 します 構 文 Object.Stat() Stat メソッドの 構 文 の 指 定 項 目 は 次 のとおりです ( 指 定 項 目 ) ( 内 容 ) Object PINGOCX オブジェクトです 戻 り 値 長 整 数 (Long) 戻 り 値 は 次 の 通 りです ( 値 ) ( 説 明 ) pinglib.pinginit =0, 初 期 状 態 です pinglib.pingresolving =1, 名 前 解 決 待 ち 状 態 です pinglib.pingresolved =2, 名 前 解 決 済 み 状 態 です pinglib.pingsending =3, 応 答 待 ち 状 態 です pinglib.pingreplied =4, 応 答 受 信 済 み 状 態 です 解 説 Stat メソッドは PING の 状 態 を 示 します 30
メソッド SetSendData メソッド 機 能 送 信 データとして Data を 登 録 します 構 文 Object.SetSendData(Data As String) SetSendData メソッドの 構 文 の 指 定 項 目 は 次 の 通 りです ( 指 定 項 目 ) ( 内 容 ) Object PINGOCX オブジェクトです 戻 り 値 なし 31
メソッド GetRecvData メソッド 機 能 受 信 したデータを 取 り 出 します Replied イベントの 中 でのみ 有 効 です 構 文 Object.GetRecvData() GetRecvData メソッドの 構 文 の 指 定 項 目 は 次 の 通 りです ( 指 定 項 目 ) ( 内 容 ) Object PINGOCX オブジェクトです 戻 り 値 文 字 列 (String) 32
イベント 33
イベント Closed イベント 機 能 Send メソッドが 終 了 すると 発 生 します 構 文 Private Sub Object_Closed(ByVal Code As Long) Closed イベントの 構 文 の 指 定 項 目 は 次 のとおりです ( 指 定 項 目 ) ( 内 容 ) Object PINGOCX オブジェクトです Code 終 了 の 理 由 を 示 す 値 です 次 の コード を 参 照 してください コード ( 値 ) ( 内 容 ) pinglib.pingendnormal 0 応 答 が 最 大 受 信 回 数 (MaxCount プロパティで 指 定 した 回 数 )に 達 したことによる 終 了 を 意 味 します pinglib.pingendtimeout 1 最 大 受 信 回 数 に 達 しない 場 合 で タイムアウト(Timeout プロパティで 指 定 した 時 間 )となったことによる 終 了 を 意 味 します pinglib.pingendclosed 2 Close メソッドによる 終 了 を 意 味 します pinglib.pingenderror 3 エラーが 発 生 したことによる 終 了 を 意 味 します 解 説 Send メソッドが 終 了 するときに 発 生 します 34
イベント Replied イベント 機 能 ホストから 応 答 があると 発 生 します 構 文 Private Sub Object_Replied (ByVal Remote As String, ByVal TTL As Long, ByVal TripTime As Long) Replied イベントの 構 文 の 指 定 項 目 は 次 のとおりです ( 指 定 項 目 ) ( 内 容 ) Object PINGOCX オブジェクトです Remote 相 手 の IP アドレス(10 進 ドット 形 式 ) TTL ホストから 自 ホストまでのホップ 数 を 推 定 するための 情 報 TripTime 受 信 するまで(Resolved イベント 直 後 から Replied イベント 直 前 まで) に 要 した 時 間 (ミリ 秒 ) 解 説 エコーの 応 答 を 受 信 すると 発 生 します 35
イベント Resolved イベント 機 能 名 前 が 解 決 すると 発 生 します 構 文 Private Sub Object_Resolved(ByVal RemoteIpAddress As String) Resolved イベントの 構 文 の 指 定 項 目 は 次 のとおりです ( 指 定 項 目 ) ( 内 容 ) Object PINGOCX オブジェクトです RemoteIpAddress 相 手 の IP アドレス(10 進 ドット 形 式 ) 解 説 Send メソッドで ホストを 名 前 で 指 定 した 場 合 は 名 前 が 解 決 した(IP アドレスに 変 換 することができる)ときに また ホストをIPアドレスで 指 定 した 場 合 は Send メソッドの 処 理 中 に 発 生 します 36
Winsock エラーコード 37
38 10004 システムコールの 割 り 込 みが 発 生 10009 無 効 なソケット 番 号 を 指 定 した 10013 アクセスが 拒 否 された 10014 間 違 ったアドレスを 指 定 した 10022 無 効 な 引 数 10024 開 いているファイル 数 が 多 すぎる 10035 ブロッキングモードなら 操 作 がブロックした 10036 ブロッキング 処 理 中 に 別 の API を 呼 び 出 した 10037 非 ブロッキング 処 理 中 に 同 じ API を 呼 び 出 した 10038 ソケット 以 外 に 対 してソケット 操 作 が 行 われた 10039 宛 先 のアドレスが 必 要 10040 メッセージが 長 すぎる 10041 ソケットに 対 するプロトコルの 種 類 が 不 正 10042 プロトコルが 使 用 できない 10043 プロトコルがサポートされていない 10044 ソケットの 種 類 がサポートされていない 10045 操 作 がソケットでサポートされていない 10046 プロトコルファミリがサポートされていない 10047 アドレスファミリがサポートされていない 10048 アドレスがすでに 使 用 中 10049 要 求 されたアドレスを 割 り 当 てられない 10050 ネットワークが 落 ちている 10051 ネットワークが 到 達 できない 10052 リセットによりネットワーク 接 続 が 落 とされた 10053 ホスト 内 部 で 接 続 を 中 断 した 10054 相 手 が 接 続 を 強 制 的 に 切 った 10055 利 用 可 能 なバッファスペースが 存 在 しない 10056 ソケットがすでに 接 続 されている 10057 ソケットが 接 続 されていない 10058 ソケットの 遮 断 後 であるため 送 信 できない 10059 参 照 数 が 過 大 : 結 合 不 可 能 10060 時 間 切 れで connect または send に 失 敗 した 10061 接 続 が 拒 否 された 10062 シンボリックリンクが 多 すぎる 10063 ファイル 名 が 長 すぎる 10064 ホストが 落 ちている 10065 ホストへの 到 達 経 路 が 存 在 しない 10091 ネットワークサブシステムが 使 用 不 能 10092 Winsock がサポートしていないバージョンを 指 示 した 10093 Winsock が 初 期 化 されていない 10101 接 続 が 切 れている 11001 ホストが 見 つからない 11002 やり 直 し 可 能 なエラー 11003 回 復 不 可 能 なエラー 11004 データがない
サンプル 39
IsAlive (Ver 1.0) ホストの 状 態 を 確 認 します PING を 行 ってから FTP や MAIL り 処 理 を 開 始 するアプリケーションの 雛 形 としてご 利 用 ください ホスト 名 PING したいホストの IP アドレス 又 は 名 前 のどちらかを 指 定 して 下 さい タイムアウト ホストからの 応 答 が 受 信 できない 場 合 の 待 機 時 間 を 指 定 します デフォルトは 1000(1 秒 ) です 最 大 再 送 回 数 ホストからの 応 答 が 確 認 できない 場 合 に PING を 繰 り 返 す 回 数 を 指 定 します PING の 開 始 上 記 の 設 定 が 済 みましたら 開 始 ボタンを 押 して PING を 開 始 します 応 答 があった 場 合 は OK というメッセ ージが 表 示 されます 応 答 が 確 認 できない 場 合 は 最 大 再 送 回 数 で 指 定 した 回 数 だけ PING を 繰 り 返 します 最 終 的 に 応 答 が 確 認 出 来 な かった 場 合 は 最 後 に TIMEOUT と 表 示 され PING を 終 了 します 40
WILLPING (Ver.2.0) ホストの 状 態 を 確 認 します 応 答 時 間 やホップ 数 経 由 するルータの IP アドレスなどの 情 報 も 表 示 します ホストアドレスにブロードキャストアドレスを 指 定 して 複 数 のホストから 応 答 を 確 認 できます ホスト 名 PING したいホストの IP アドレス 又 は 名 前 のどちらかを 指 定 して 下 さい タイムアウト ホストからの 応 答 が 受 信 できない 場 合 の 待 機 時 間 を 指 定 します デフォルトは 3000(3 秒 ) です 受 信 するエコーの 数 ホスト 名 でブロードキャストを 指 定 した 場 合 に 応 答 を 受 信 する 数 を 指 定 します ブロードキャストを 行 う 場 合 は 多 めに 指 定 して 下 さい 繰 り 返 し 回 数 PING を 繰 り 返 す 回 数 を 指 定 します ホストからの 応 答 が 確 認 出 来 ても 出 来 なくても 指 定 した 回 数 分 繰 り 返 し PING が 行 われます 送 信 データ ここで 入 力 したデータを 用 いて 送 信 します トレースルートモード 指 定 したホストまでのネットワーク 経 路 ( 経 路 上 にどのようなルータが 位 置 してい るか)をリスト 表 示 します PING の 開 始 上 記 の 設 定 が 住 みましたら 開 始 ボタンを 押 して PING を 開 始 します 中 断 ボタンを 押 すと 処 理 を 中 止 します 41
応 答 があった 場 合 は 経 由 した 全 てのルー タの IP アドレスが 表 示 され TripTime( 往 復 に 要 した 時 間 =ミリ 秒 ) と TTL( 生 存 時 間 ) と 送 信 データ が 表 示 されます ブロードキャストで PING した 場 合 は 応 答 のあった 数 分 表 示 されます また 繰 り 返 し 回 数 で 回 数 を 指 定 した 場 合 は その 回 数 ぶんの 結 果 が 表 示 されま す 応 答 が 確 認 できない 場 合 は タイムアウ ト と 表 示 されます また 繰 り 返 し 回 数 で 回 数 を 指 定 した 場 合 は その 回 数 ぶんの 結 果 が 表 示 されま す 42
PING Mult (Ver.1.0) 一 定 の 間 隔 で PING を 繰 り 返 すことにより ホストを 定 期 的 に 監 視 することが 出 来 ます 最 大 5つのホス トを 同 時 に 監 視 できます ホスト 名 PING したいホストの IP アドレス 又 は 名 前 のどちらかを 指 定 して 下 さい 対 象 指 定 したホストを 監 視 する 対 象 にする 場 合 は チェックボックスにチェックを 付 け ます 状 態 ホストの 状 態 を 表 示 します 確 認 時 刻 ホストの 状 態 を 確 認 した 時 刻 が 表 示 されます チェックする 時 間 間 隔 PING を 繰 り 返 す 間 隔 を 指 定 します デフォルトは 30000(30 秒 です ) タイムアウト ホストからの 応 答 が 受 信 できない 場 合 の 待 機 時 間 を 指 定 します デフォルトは 3000(3 秒 ) です 43
PING の 開 始 上 記 の 設 定 が 済 みましたら 開 始 ボタンを 押 して PING を 開 始 します 中 断 ボタンを 押 すと 処 理 を 中 止 します チェックする 時 間 間 隔 で 指 定 した 間 隔 で PING が 繰 り 返 されます ホストから 応 答 があるか タイムア ウトになるまで チェック 中 と 表 示 されます その 後 おうとうがあるかタイムアウトした 時 の 時 刻 が 表 示 されます 44
索 引 Closed イベント... 34 Close メソッド... 27 Copyright プロパティ... 22 GetRecvData メソッド... 32 LastError メソッド... 28 MaxCount プロパティ... 20 MaxRecvDataSize プロパティ... 24 Replied イベント... 35 Resolved イベント... 36 Send メソッド... 29 SetSendData メソッド... 31 Stat メソッド... 30 Timeout プロパティ... 21 TTL プロパティ... 25 UseSendData プロパティ... 23 45
PINGOCX マニュアル 1999 年 1 月 14 日 初 版 第 1 版 2001 年 5 月 15 日 第 2 版 2002 年 1 月 30 日 第 3 版 発 行 所 株 式 会 社 ウィル 住 所 神 奈 川 県 横 浜 市 保 土 ヶ 谷 区 西 久 保 町 15 グランディシンヤ 302 240-0022 TEL:045-338-3525 FAX:045-338-3526 Mail-Address:info@will-ltd.co.jp URL:http://www.will-ltd.co.jp / 発 行 者 小 川 史 彦 本 紙 の 内 容 を 許 可 なく 複 写 転 載 データファイル 化 することを 禁 じます 本 紙 の 内 容 に 関 するご 質 問 は 上 記 のメールアドレス 宛 にお 問 い 合 わせください Copyright 1998-2002 WILL Corporation. All rights reserved