DOBON.NET DOBON.NETプログラミング掲示板過去ログ

"System.Net.Dns"のタイプ初期化子が例外をスローしました。

環境/言語:[環境(WindowsXP)、使用言語(VB.NET)]
分類:[.NET]

お世話になります。
初投稿させて頂きます。

表題の件について、質問させて頂きたく、投稿致しました。
下記詳細になります。

●質問:あるプログラムを作成したところ、例外が発生しました。
    その例外の解決方法がわからないため、ご存知の方いらっしゃい
    ましたらご教授お願い致します。
    ネットや知人を当りましたが、わかりませんでした。

●プログラムの目的:
    ある装置に対して、Telnetでログインを行いたい。
    System.Net.Sockets.TcpClientクラスを使用してポート番号23で
    ソケットをオープンしたい。
    
●現象:【System.Net.Sockets.TcpClient】クラスのコンストラクタで例外発生。
    以前は問題なくソケットをオープンできていたが、例外が発生して
    できなくなってしまった。また、DOS窓からTELNETを実行すると正常に
    ログインする事ができる。

●例外内容(Exceptionで受け取った内容です)
[ErrorCode] :System.Net.Dns
[StackTrace]:at System.Net.Dns.Resolve(String hostName)
        at System.Net.Sockets.TcpClient.Connect(String hostName, Int32 port)
        at System.Net.Sockets.TcpClient..ctor(String hostName, Int32 port)

[Message] :"System.Net.Dns"のタイプ初期化子が例外をスローしました。
[Source] :System

●例外が発生したソース(一部抜粋):
Imports System.Net.Sockets

    Public Class Telnet
      ' TCPClient
      Private TCP As TcpClient = Nothing

      ' Port Number
      Private Const PORT_NO As Integer = 23

      ' Method
      Public Sub Open()
        Try
          ' ここで例外が発生しました。
          Me.TCP = New TcpClient("IP又はホスト名", Me.PORT_NO)
        Catch ex As Exception
         ' [ex]の内容を取得しました。
     End Try
     End Sub
   End Class


●開発ソフト:Visual Studio .NET 2003

●使用言語:VB.NET

以上です。情報として欠落している部分などがございましたらご指摘下さい。
よろしくお願いいたします。
> ●例外内容(Exceptionで受け取った内容です)
> [ErrorCode] :System.Net.Dns
> [StackTrace]:at System.Net.Dns.Resolve(String hostName)
>         at System.Net.Sockets.TcpClient.Connect(String hostName,

とのことですから

>           ' ここで例外が発生しました。
>           Me.TCP = New TcpClient("IP又はホスト名", Me.PORT_NO)

の「IP またはホスト名」の名前解決に失敗しています。
渋木宏明さん、お返事ありがとうございます。
こちらで色々調べた結果、最終的なエラーメッセージが判明しました。

●システムのバッファ領域が不足しているか、またはキューがいっぱいなため、ソケット操作を実行できませんでした。

というメッセージで、
「System.Net.Sockets.Socket.InitializeSockets()」
メソッドで例外が発生しているようです。

・システムのバッファ領域不足
・キューがいっぱいである

という件に関して、どなたか解決方法をご存知の方、いらっしゃいますでしょうか?
この投稿はマルチポストです。

●マルチポストされている場所
http://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=39896

----------
この掲示板ではマルチポストが禁止されています。詳しくは、「書き込みのマナーについて」をお読みください。

●書き込みのマナーについて
http://dobon.net/vb/bbs/index.html
> ●マルチポストされている場所
> http://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=39896
>
> ----------
> この掲示板ではマルチポストが禁止されています。詳しくは、「書き込みのマナーについて」をお読みください。
>
> ●書き込みのマナーについて
> http://dobon.net/vb/bbs/index.html

ご指摘ありがとうございます。
また、言葉足らずで申し訳ございませんでした。
ご指摘いただいたマルチポストについて一読させて頂きました。
[マルチポストされた投稿を報告する時は匿名で投稿し、マルチポストされている場所を併記してください]というルールより、
本掲示板、また別の掲示板においても状況を併記致しております。
ご迷惑をおかけ致しますが、よろしくお願い致します。
・別掲示板:http://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=39896
> [マルチポストされた投稿を報告する時は匿名で投稿し、マルチポストされている場所を併記してください]というルールより、
> 本掲示板、また別の掲示板においても状況を併記致しております。

多分ご理解されていらっしゃると思いますので言うまでもないとは思いますが、「マルチポストされた投稿を報告する時は...」というのは報告をする側の話であり(No14288の記事のように)、マルチポストをする側のルールではありません。

> ●現象:【System.Net.Sockets.TcpClient】クラスのコンストラクタで例外発生。

調べてみたところ、ニュースグループで同様の報告がありました。

http://groups.google.co.jp/group/microsoft.public.dotnet.framework/msg/dd04565f22fee652?hl=ja&

これによると、次のページが参考になるようです。

[BUG] Web サービスへのアクセス時または IPAddress クラスの使用時にエラー メッセージ "操作がタイムアウトしました" が表示される
http://support.microsoft.com/kb/815209/ja

ネットワークに接続すると、エラー メッセージ "ソケット以外のものに対して操作を実行しようとしました" が表示される
http://support.microsoft.com/kb/817571/ja
管理人様

ありがとうございます。
また、ご迷惑をおかけして申し訳ございません。
以後、気をつけて参ります。

DOBON.NET | プログラミング道 | プログラミング掲示板