• ベストアンサー

Winsockについて

OS :WindowsXP 開発言語 :VC++ Winsock :2.2 現在、Winsockプログラムにて下記のようなテストをしています。 接続 ⇒ データ送信(正常) ⇒ LANケーブル抜く ⇒ データ送信(当然エラー) ⇒ LANケーブル挿す ⇒ データ送信 ・・・ ←ここでもエラーが発生してしまいます。 Winsockの通信は一度切れてしまうと最初から接続しなおさないと駄目なのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • onosuke
  • ベストアンサー率67% (310/456)
回答No.1

最初から接続しなおさないと駄目です。 ちなみに、その挙動は、 Winsockの問題ではなく、OS(WindowsXP)のTCP/IP仕様によるものです。 参考URLに下記の記述があります。 >Windows では、メディアの "ダウン" 状態が検出されると、 >再度 "アップ" として検出されるまで、 >そのアダプタにバインドされているプロトコルは削除されます。 このプロトコル削除が発生すると、 WindowsOSは、プログラムがWinsockで作成した通信の接続情報を 全て破棄してしまいます。 OSに接続情報を破棄されてしまうので、 プログラム側は、再度接続しなおすしか、対処方法がありません。

参考URL:
http://support.microsoft.com/kb/239924/ja
daisanaja
質問者

お礼

そうなんですか。。。 再接続するように致します。 ご回答ありがとうございました。

関連するQ&A