Есть ли загрузчик javascript, который может ограничить количество сокетов до 1 или 2

Я хочу создать сетевое встроенное устройство с помощью одностраничного приложения AJAX для настройки HTML5/JS.

Моя проблема заключается в том, что браузеры открывают слишком много соединений в настоящее время, в моем устройстве число одновременных подключений не более 4 с аппаратным стеком TCP (пожалуйста, помните, что это встроенное устройство).

Любой запрос через сокет> 4 кажется потерянным, нужно нажимать клавишу F5, пока комбинация элементов приложения и кэша не появится в браузере.

Теперь моей первоначальной идеей было использование загрузчика js (с favicon в качестве URL-адреса данных) в качестве индексного документа, который, в свою очередь, загружает остальную часть приложения по одному (возможно, также с индикатором выполнения, но это было бы роскошью).

Теоретически это должно гарантировать, что в одно время открыто только одно соединение.

Все js-загрузчики, которые я обнаружил, предназначены для распараллеливания и ускорения в широкополосных средах на кластерных веб-серверах с балансировкой нагрузки, но мне нужна сериализация и надежность на крошечном 8-битном MCU с веб-сервером.

Любые советы или указания приветствуются!

Редактировать: я должен извиниться за взаимозаменяемое использование "сокета" и "соединения", я имел в виду "соединение" и соответственно изменил исходный пост.

1 ответ

Решение

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

<!DOCTYPE html>
<html><head><title>MCU app</title>
<link rel="shortcut icon" href="data:...">
<style>
    /* css here */
</style>
<script>
   // JS here
</script>
</head>
<body>

</body>
</html>

Конечно, следите за <img> теги.

Другой вариант, который я рассмотрю, - это размещение вашего HTML/JS/CSS/etc на обычном веб-сервере и выполнение только вызовов API для встроенного устройства.

Например, вы бы открыли mycoolembeddedapp.com в своем браузере. Приложение может запросить IP-адрес встроенного устройства, а затем совершить AJAX-вызовы на этот IP-адрес с помощью CORS.

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