Вопрос

Я написал программу, которая связывается с множеством серверов одновременно с помощью модуля Asyncore. По большей части я просто отвечаю на данные, полученные от серверов, но иногда мне нужно отправлять некоторые данные «вне синхронизации». При времени ожидания по умолчанию 30 секунд происходит очевидная задержка до отправки пакета, поэтому я снизил время ожидания до 0,1 для более отзывчивости.

Мой вопрос: это хорошая идея - мудрым, чтобы использовать тайм-аут с таким низким значением, а если нет, есть еще другой способ выполнить одно и то же? Какая лучшая практика для этого?

Это было полезно?

Решение

Чтобы ответить на мой вопрос:

Для этого типа опроса необходимо иметь небольшое значение тайм-аута. Тайм-аут указывает, как долго внутренние функциональные блоки выбора ожидают активного сокета. Если вы часто отправляете данные, вам нужно установить время ожидания на небольшое значение, чтобы выбрать опросы вашего сокета для записи данных в приемлемом интервале. В противном случае выберите слишком долго, прежде чем проверять и может привести к тому, что эти виды задержек.

В конце я использовал тайм-аут 0,05 секунды.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top