neticon を更新しました。

http://tricklib.com/cxx/ex/neticon/

2008-01-06 ポートチェックのみ IPv6 に対応しました。( PING チェックはまだ IPv6 に対応してません )


IPv6API が既存の IPv4 ベースのアプリケーションを IPv6 へ対応し易いように考慮してくれてはいるみたいなのですが、その実、少なくともこの neticon のケースでは通信まわりのコードをかなり作り直すはめになりました。ただ、普通に TCP ベースの通信やってる分にはそんなには IPv6 への対応は厳しくないと思います。が、ICMP(というかPING)とかはなかなか一筋縄ではうまくいってくれません。

実のところ PING に関しても IPv6 対応のコードは記述済みでちゃんと動作確認もとれたりはするのですが、うまく動作する環境と全然うまく動作しない環境があってとりあえず今回は PINGIPv6 対応コードは殺してます。特に Icmp6SendEcho2() まわりの情報がまだ少なくネット上で探せば Icmp6CreateFile(), Icmp6SendEcho2() を使った PING のサンプルコード等があるにはあるのですが、それらの情報をもってしても現在の問題解決にはまだ至ってません。恐らくは getaddrinfo() で自分のアドレスの取得の仕方あたりに問題があるじゃないかとはふんでいるのですが、いまんとこハッキリしません。また後日、この問題を追跡していきたいと思います。

ちなみに TCP ベースの通信は Windows XP SP2 の IPv6 プロトコルがインストールされていない環境でも IPv6 対応コードで正常に動作してくれました。