NETのソケットクラスについて
- 題名: NETのソケットクラスについて
- 著者: みけんにしわ
- 日時: 2009/05/11 14:41:43
- ID: 24528
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: NETのソケットクラスについて
- 著者: 魔界の仮面弁士
- 日時: 2009/05/11 15:01:40
- ID: 24529
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: NETのソケットクラスについて
- 著者: みけんにしわ
- 日時: 2009/05/12 17:20:15
- ID: 24537
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
毎回、お世話になっております。
前回したFTPの質問に被ってしまうところがあるのですが、
ソケットのクラスについて質問があります。
下記のようなソース(.NETのsocketクラス使用)でサーバに接続要求を行い、応答が帰ってこない為か、例外も発生せずにプログラムが止まってしまいました。
原因は下記が考えれば納得できるのですが、逆にLANケーブルを抜いたり、
接続先を存在しないIPにした時は正常?にエラーを返します。
無期限で応答を待つようにしていれば、結局はプログラムは待ち状態になるのでは?
と思うのですが、そうならない理由がわかりません。
どうか、よろしくお願い致します。
原因:ReceiveTimeout、SendTimeoutの値をデフォルト(0)にしていた為に、
無期限で待つような設定になっていた
---- ソース -----
'ソケットオブジェクト生成
m_objClientSocket = _
New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
'接続情報設定
Dim ep As New IPEndPoint(Dns.Resolve(m_sRemoteHost).AddressList(0), m_iRemotePort)
'接続要求開始
Try
m_objClientSocket.Connect(ep)
Catch ex As Exception
MessageString = "Cannot connect to the remote server"
Return False
End Try