2007-12-06

WifiAutoDisconnect修正

昨日「他の機器が接続されているLANではなかなか自動切断されないようです」 と書いた WifiAutoDisconnectですが、 今日になって多数の機器が接続されているネットワークで使ってみたところ 「なかなか切断されない」というレベルではなく 全く切断されないことに気付きました。
 
どうやらブロードキャストが飛び交っているようなネットワークでは実用に耐えないようですね。
 
何とかならないものかと調べていたところ、IP Helper APIの MIB_IFROWの中にユニキャストのパケットだけを対象にしたカウンタを発見しました。
こちらを使うことでブロードキャストが飛び交っている(と思われる)ネットワークでも自動切断できるみたいです。
昨日の今日で申し訳ないのですが、v0.3をご使用の場合は差し替えをお願いします。  
あと些細な所ではデフォルトの監視間隔を10秒に戻していますのでご注意下さい。
(LEDを点滅させているときは設定に関係なく5秒間隔で監視します)
 

6 件のコメント:

WATARI さんのコメント...

WS004SHですが快調に動作しています。

kazuaki さんのコメント...

WATARIさん こんにちは。

動作報告ありがとうございます。
念のため WM5の指定をしておいて良かったです。
(それでも [es]では動かないと思いますが...)

こめ さんのコメント...

こんばんは。
初版よりアップされるたびに試させていただき、特に今回は期待していたのですが、未だ私のホームLANでは切断されません。残念です。

kazuaki さんのコメント...

こめさん こんばんは。

初版からお付き合い頂きありがとうございます。
v0.1などは最悪でしたね(笑

とりあえず思いつく原因としては以下のようなものがあります。

1. そもそも起動できていない
(レジストリの取りこぼし?)
2. 監視スレッドが止まってしまっている
3. 何らかのパケットが飛んできている

例えば 「WifiAutoDisconnect.exe /b /t 65」で登録した場合、通信開始 5秒程度でLEDが点滅開始しますでしょうか?
点滅しないのであれば 1または2で、点滅開始後しばらくして点灯に戻るのであれば 3という事が考えられます。

その他で何かお気づきの点があればまたご連絡お願いします。

こめ さんのコメント...

LED点滅しませんでした。
/trayiconでアイコンは現れますので、2ということになるのでしょうか。

kazuaki さんのコメント...

こめさん こんにちは。

ご確認ありがとうございます。
/tayiconした状態で手動で無線を切った時にアイコンが消えてくれるのであれば監視スレッドは動いていると思うのですが、現実にLED点滅まで行かなという事なのでちょっと難しそうですね。

送受信したパケット数を表示するいい方法が無いか検討してみます。