Используйте HTTP, Активный, чтобы сервер связался с клиентом

:

df['index1'] = df.index

или .reset_index :

df.reset_index(level=0, inplace=True)

, поэтому, если у вас есть мультииндекс кадр с 3 уровнями индекса, например:

>>> df
                       val
tick       tag obs        
2016-02-26 C   2    0.0139
2016-02-27 A   2    0.5577
2016-02-28 C   6    0.0303

, и вы хотите преобразовать уровни 1-го (tick) и 3-го (obs) в индекс в столбцы, вы бы сделали:

>>> df.reset_index(level=['tick', 'obs'])
          tick  obs     val
tag                        
C   2016-02-26    2  0.0139
A   2016-02-27    2  0.5577
C   2016-02-28    6  0.0303

16
задан 4 January 2009 в 18:41
поделиться

3 ответа

Активный просто содержит открытый сокет TCP, таким образом, каждый раз Вы опрашиваете, Вы сохраняете издержки пакетов установки/разрушения TCP - но все еще необходимо опросить.

Однако "долго опрос" является стратегией веб-сервера для широковещательной передачи уведомлений клиенту. По существу клиентские проблемы a ПОЛУЧАЮТ запрос, но вместо непосредственного ответа, ожидает веб-сервер, пока у них нет уведомления для отправки, в которой точке они отвечают на ПОЛУЧИТЬ запрос. Это избавляет от любой необходимости пакеты идти через провод для опроса целей и сохраняет соединение не сохраняющим состояние, который, поскольку Вы правильно упоминаете, одна из целей протокола.

8
ответ дан 30 November 2019 в 22:10
поделиться

С HTTP 1.1, активным, поведение по умолчанию. (В HTTP 1.0 поведение по умолчанию состояло в том, чтобы закрыть соединение.) Сервер должен отправить 'Соединение: закройте" заголовок для завершения соединения с первым ответом. Таким образом, существует все еще сокет TCP, доступный для проталкивания данных, но просто продвижение данных из сервера нарушило бы протокол HTTP главным способом. Даже с помощью активного, клиент должен был бы все еще опросить сервер.

важно различать Проверку активности HTTP и Проверку активности TCP. Проверка активности HTTP препятствует тому, чтобы соединение было закрыто сервером или клиентом. Проверка активности TCP используется, когда соединение могло бы быть неактивным в течение длительного промежутка времени и могло бы быть отброшено прокси NAT или брандмауэром. Проверка активности TCP активируется на основе на сокет setsockopt () вызовы.

При выполнении 'долгого опроса', чтобы избавить от необходимости повторно опрашивать, проверка активности TCP могла бы быть необходима.

8
ответ дан 30 November 2019 в 22:10
поделиться

Вы могли бы считать больше приблизительно Комета серверы. Это в основном походит на подход, о котором спрашивал интервьюер. Их эффективность оспаривается некоторыми, но она использовалась в нескольких аналогичных ситуациях.

, Например, я полагаю, что Gmail использует технологии кометы для некоторых вещей (но не заключайте мне в кавычки на нем).

Другой пример, который кажется релевантным, ЕРУНДА , который является протоколом для передачи информации о чате с помощью HTTP и XMPP. Но я не полагаю, что активное использование вовлечено в это.

5
ответ дан 30 November 2019 в 22:10
поделиться
Другие вопросы по тегам:

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