Выход из tcp приложения будет отправлять FIN всегда? - PullRequest
1 голос
/ 09 марта 2010

При выходе из приложения TCP оно отправляет пакет FIN.

Рассмотрим tcp-клиента, который подключается к постоянно прослушивающему серверу (сервер никогда не выходит).

если клиент tcp внезапно завершает работу после нескольких обменов пакетами, будет ли он всегда отправлять пакет FIN на сервер?

Thx!

1 Ответ

2 голосов
/ 09 марта 2010

При нормальной работе FIN будет отправлено, да.

Вот несколько случаев, когда FIN не будет отправлен.

  • Кто-то дергает сетевой кабель клиента.
  • Клиент получает ядерное оружие
  • Пакеты FIN отбрасываются в пути.
  • ОС на ядре сильно падает.
...