私のプログラムでスレッドに関するいくつかのポインタを必要としますスキャンするポートが100以上ある場合。は、私はそうのように個別に与えられたIPアドレスのポートをスキャンアプリを作成しようとしている
スレッドを見ています。問題は、スレッドを扱う方法については何も書かれていませんが、基本的なスレッドを行う方法を示すMSDNやその他の記事から記事を読みました。
今、私のプログラムでスレッドを実装する方法がわかりません。私はScanPortメソッドを指すイベントハンドラを作成することができましたが、1つ以上のスレッドを初期化すると、ポートの先頭からpingを開始します。私が持っていたもののもう一つは、何本のスレッドを開始すべきかということでした。
アイデアはありますか?私は私のプログラムにスレッドを実装する方法の基本的な考え方が必要です。
を、私はあなたがいない*ことを示唆しています*スレッドが必要な場合は、非同期I/Oを使用するだけです。 1つのスレッドが100個のポートを非常に素早くスキャンすることは絶対に問題ありません。 –
@Greg Hewgill、ポートが開いているときにはかなり素早くチェックできますが、閉じているときはタイムアウトまで待ってから別のポートを確認できます。また、非同期スキャンを使用しないでください。 – HelpNeeder
はい、非同期I/Oを使用していますが、同期的に使用しています。あなたは接続を開始してから、何か起こるのを待っています。私が示唆していることは、複数の*異なる*接続に対して同時に 'BeginConnect'を呼び出すことができるということです。 –