サーバー-クライアント間が100秒間無通信状態になるとFINパケットが送信されてしまう

m.m.h.m 0 評価のポイント
2024-05-09T07:36:02.09+00:00

クライアントはWin10 IoTを使用しています。

サーバーとはhttps通信を使用しています。 クライアントアプリケーションは、C#を使用しており、HttpClientクラスを使用しています。 サーバーとの通信確立に成功し、サーバーとの通信は成功するのですが、サーバー、クライアント双方から電文送信を行っていない状態が100秒間続くと、クライアント側からFINパケットを送信している事がわかりました。 アプリケーションとしては、100秒でクローズするようなことは行っておらず、OSが自動的に行なっているのではないかと推測しています。

AIとのチャットでは、Windowsは無通信が一定時間続くと切断することもあるとの回答でしたが、具体的に切断までの時間が何処に存在するのかは回答されませんでした。 質問1:Windows(もしくは、.netのHttpClientクラス?)は、無通信状態は一定時間続くと、FINパケットを送信する機能があるのでしょうか?

質問2:機能が存在する場合、時間の設定は何処に存在するのでしょうか?

Windows 10
Windows 10
パーソナル コンピューターとタブレットで実行される Microsoft オペレーティング システム。
53 件の質問
{count} 件の投票

2 件の回答

並べ替え方法: 最も役に立つ
  1. gekka 6,926 評価のポイント MVP
    2024-05-09T08:54:06.7566667+00:00

    単純にHttpClient.Timeoutプロパティの規定のタイムアウトである100秒間が経過したために、TCP接続の切断を通知するFINパケットが相手に送られているのでは?

    ためしに10秒に変更したら10秒間無通信でFINパケットが送られました。


  2. m.m.h.m 0 評価のポイント
    2024-05-13T08:04:53.88+00:00