2

ネットワークの切断に対してプログラムを堅牢にしようとしています。現在、OS からイーサネット ネットワークを無効にすると (私は Ubuntu 11.10 を使用していますが、それは問題ではないと思います)、ネットワークが再び有効になるとソケットが回復し、すべてが正常に機能します。

今では、このテストはイーサネット ケーブルのプラグを抜くことと同じだと思っていました。しかし、これを行うと私のプログラムが突然終了するため、そうではありません。

これら 2 つのシナリオの違いと、両方を検出する方法を知りたいです。Qt および C++ の QTcpSockets を使用しています。

また、Wi-Fiが検出されなくなった場合は、イーサネットケーブルを抜くのと同じだと思いますが、OSで無効にすることはイーサネットネットワークを無効にすることと同じです。私は正しいですか?

4

1 に答える 1

0

ドライバーが有効になっている場合、さまざまなシナリオを管理するプログラムが OS ケネルで実行されていることを意味します。たとえば、ケーブルが切断されると、リンク ドロップが発生します。そして低電力モードに突入。ドライバーを無効にすると、デバイスを管理できるファームウェアがデバイスに存在するか、デバイスがオフになります。

于 2014-11-06T15:08:45.330 に答える