asyncio: мультиплексирование сообщений по одному соединению через веб-сокет

Как указано Thomas Stjernegaard Jeppesen, вы можете использовать History.js для изменения параметров URL, пока пользователь перебирает ваши ссылки и приложения Ajax.

С тех пор прошло почти год, и History.js рос и стал более стабильным и кросс-браузерным. Теперь его можно использовать для управления состояниями истории в HTML5-совместимом, а также во многих браузерах с поддержкой HTML4. В этой демонстрации Вы можете увидеть пример того, как это работает (а также возможность попробовать свои функциональные возможности и ограничения.

Если вам нужна помощь в использовании и реализации эта библиотека, я предлагаю вам взглянуть на исходный код демонстрационной страницы: вы увидите, что это очень легко сделать.

Наконец, для подробного объяснения того, какие могут быть проблемы с использованием хэшей (и hashbangs), проверьте эту ссылку Бенджамина Луптона.

1
задан matejcik 18 January 2019 в 15:06
поделиться

1 ответ

когда я делал подобные вещи, прежде чем попытался разделить вещи на две части:

  1. «отправка кода» (может быть несколькими потоками), это устанавливает, где ответы должны перейти к (то есть dict из id с для функций или Future с), затем отправляет запрос и блокирует для ответа
  2. «принимающий код» (возможно, один поток на сокет), который отслеживает весь входящий трафик и передает ответы тому, какой код заинтересован в id. это также разумное место для обработки неожиданно закрытого сокета, который должен выдвигать исключение соответствующим образом

Это, вероятно, несколько сотен строк кода и довольно специфично для приложения…

0
ответ дан Sam Mason 18 January 2019 в 15:06
поделиться
Другие вопросы по тегам:

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