Как изменить время ожидания подключения к интернету по умолчанию?

У меня есть приложение AIR 2.0, которое отправляет запрос на сервер, который может занять более 1 минуты. К сожалению, из-за этой ошибки время ожидания запроса истекло через 30 секунд. Существует обходной путь, но доступен только для Windows. Не могли бы вы рассказать мне, как сделать то же самое в Ubuntu 10.04?

1
задан 12 January 2011 в 10:06

1 ответ

Если я правильно понимаю, эта команда сделает в Linux то же самое, что и реестр в Windows:

sudo sysctl net.ipv4.tcp_fin_timeout=100

Где 100 - время ожидания в секундах для принудительного закрытия сокета. Обратите внимание:

  • Значение по умолчанию в Ubuntu - 60 секунд, а не 30.
  • Это будет выполняться ядром. Так что это может иметь некоторый эффект в других приложениях. Я ожидаю их, только если вы опустите его, но кто знает.
  • Я не могу понять, как это может быть связано с этой ошибкой в ​​AIR.

Со страницы руководства tcp:

tcp_fin_timeout (integer; default: 60) Указывает, сколько секунд ждать окончательного пакета FIN, прежде чем сокет будет принудительно закрыт , Это строго является нарушением спецификации TCP, но требуется для предотвращения атак типа «отказ в обслуживании». В Linux 2.2 значение по умолчанию было 180.

0
ответ дан 12 January 2011 в 10:06

Другие вопросы по тегам:

Похожие вопросы: