VB6.0でICMP.DLLを使用しpingを打つ処理を
作成してます。
VB6.0ではマルチスレット処理ができないようですが
そうなると、多くの相手にPINGを打つ処理を
高速にすることは不可能なのでしょうか?
> VB6.0ではマルチスレット処理ができないようですが
厳密には、できないわけではありません。MSDNライブラリにも
[Visual Basic ドキュメント]
└[Visual Basic の使用方法]
└[コンポーネント ツール ガイド]
└[ActiveX コンポーネントの作成方法]
└[コード コンポーネントの作成技術]
└[スケーラビリティとマルチスレッド]
というトピックが用意されているぐらいですし。
(もっとも、求める機能に合致しているかどうかは保障の限りではありませんが)
アウトプロセスによる非同期処理のイメージとしては、このあたりを参考に。
http://www.users.gr.jp/ml/archive/viewer.aspx?name=vb&no=2097
> そうなると、多くの相手にPINGを打つ処理を
> 高速にすることは不可能なのでしょうか?
接続数次第ですが、マルチスレッドにするのではなく、Ping部分を別exeにして、
それぞれのプロセスを並列起動させるようにしてみては如何でしょう。
魔界の仮面弁士 様、レスありがとうございます。
私が考えてるPINGツールの機能は、IPアドレスの範囲を指定し
そのIPアドレスに応答があれば、端末名やログイン名などの情報を
取得し、データベースに保存してあるネットワーク環境情報と
照合させ変化が無いか監視するです。
指定するIPアドレスの範囲は、MAXで256個と考えています。
私は複数プロセスを並列起動させる方法は初めてなので
不安なのが、複数プロセスでPING処理をやらせると
ものすごい負荷が掛かってしまいそうですね。
もしご存知でしたら複数プロセスについて参考になるものがあれば
頂きたいのですが