TcpClientインスタンスはコンストラクタでアドレスファミリを決める

| コメント(0) | トラックバック(0)

忘れないようにメモ。

IPv6で正しくアドレス指定しても、Connectでエラーになっていた。

「System.Net.Sockets.SocketException: 要求したプロトコルと互換性がないアドレスを使用しました。」だそうな。

IPv4指定にするとConnectを通過するので、IPv6に起因するものだと、思い至る(までに数時間)。

調べると、コンストラクタの中に、IPv6を使うか、IPv4を使うか決めるものがある。

フンガー!!

引数設定したら、例外発生しなくなり、通信できるようになった。

ムッキー!!

どのアドレスファミリで接続するかをConnectで判断しちゃいけないってことを忘れちゃいけない。

にしても、例外メッセージって、わかりにくいよね~。

問題の根本を見つけるまでにすごい時間がかかったりする。

いろいろ悩んだ。

今回は通信の両端を見ることが可能だったけど、クライアントだけとかサーバーだけとかだったら、何が原因か分からない場合もあると思う。

でも、「アドレスファミリが異なります」だったらすぐにわかったか?と言われると、そうとも言えないわけで・・・

Web検索すると、管理者権限が必要とか、VS2005がどうのとか、ズバリそのものって無いんだよね。

とりあえず、スキルアップには役立ったかなぁと。

トラックバック(0)

トラックバックURL: http://blog.fne.jp/mt/mt-tb.cgi/211

コメントしちゃいなよ

    

サイトカウンタ

Total: 200,695 Hits, (Recent24Hours: 13 Hits)
~ Since 2010/01 ~

埋め込みツイッター

取得失敗;;
Now: 2017/07/23 21:41:03 JST

このブログ記事について

このページは、ふぅみんが2010年6月14日 00:55に書いたブログ記事です。

ひとつ前のブログ記事は「QRコードを入れてみた」です。

次のブログ記事は「スタンドアロンオレオレ認証局とオレオレサーバー証明書」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

2017年4月

 日   月   火   水   木   金   土 
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

埋め込みQRコード