プロが教える店舗&オフィスのセキュリティ対策術

OS :WindowsXP
開発言語 :VC++
Winsock :2.2

現在、Winsockプログラムにて下記のようなテストをしています。

接続 ⇒ データ送信(正常) ⇒ LANケーブル抜く ⇒ データ送信(当然エラー)
⇒ LANケーブル挿す ⇒ データ送信 ・・・ ←ここでもエラーが発生してしまいます。

Winsockの通信は一度切れてしまうと最初から接続しなおさないと駄目なのでしょうか。

A 回答 (1件)

最初から接続しなおさないと駄目です。



ちなみに、その挙動は、
Winsockの問題ではなく、OS(WindowsXP)のTCP/IP仕様によるものです。

参考URLに下記の記述があります。
>Windows では、メディアの "ダウン" 状態が検出されると、
>再度 "アップ" として検出されるまで、
>そのアダプタにバインドされているプロトコルは削除されます。

このプロトコル削除が発生すると、
WindowsOSは、プログラムがWinsockで作成した通信の接続情報を
全て破棄してしまいます。

OSに接続情報を破棄されてしまうので、
プログラム側は、再度接続しなおすしか、対処方法がありません。

参考URL:http://support.microsoft.com/kb/239924/ja
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/11/16 10:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!