Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
JS (WinSocket) / Local IIS 8 / ASP.Net
|
|||
|---|---|---|---|
|
#18+
Недавно наткнулся на статейку о том, как можно организовать взаимодействие в направлениях "туда-сюда" между броузером (JS) и сервером (ASP.Net). Облизнулся, скопипастил, запустил - работает! Стал копать глубже и напоролся на интересный эффект: реализованный таким образом чат работает лишь до тех пор, пока количество открытых клиентов чата (броузеров) не превышает 3 (три) штуки. Причем не важно, какие именно браузеры открыты - хромы, мозилы, експлорёры или рёбра - пофигу... всего их вместе взятых не должно быть открыто более трех. В случае открытия очередного четверного окна (из любого браузера) все запросы к ресурсам под корнем localhost (включая сам локалхост) из окна 4 тупо висят. Работоспособными остаются лишь те окна браузеров, которые были открыты в числе первых трех, они могут легко достучаться до любых ресурсов. Если из первых трех окон закрыть любое (например второе), то четверное окно, которое ранее висело, мгновенно выходит из комы. Опытным путем было установлено, что броузеры перестают получать ответы от iis только при условии уже поднятых websocket'ов в количестве не менее трех штук в любых броузерах и комбинациях. Далее я опытным путем нарыл настройку в iis - количество рабочих процессов на пул приложения. Для интересующего меня пула там было установлено 1 (один) процесс. Я поднял значение этого параметра до двух и, получил все тоже самое, то теперь проблемы отложились с четвертого окна на седьмое. Из чего я делаю вывод, что на один рабочий процесс может быть поднято не более трех сокетов, а на практике не более двух сокетов при единственном процессе в IIS'е, иначе встанут все прочие запросы от броузеров. Вопрос: чо с этим можно сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2016, 04:28 |
|
||
|
JS (WinSocket) / Local IIS 8 / ASP.Net
|
|||
|---|---|---|---|
|
#18+
и еще немаловажный с практической точки зрения факт: количество поднятых экземпляров одного и того же asp.net-приложения линейно (1в1) зависит от количества рабочих процессов IIS'а, что наверное не удивительно. Это создает нереальные грабли в виде изоляции состояний поднятых приложений. Для чата это вообще ахтунг - по факту получается множество чатов по единому url'у, каждый чат имеет свое состояние, и в каждом чате не более трех клиентов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2016, 04:35 |
|
||
|
JS (WinSocket) / Local IIS 8 / ASP.Net
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2016, 15:47 |
|
||
|
JS (WinSocket) / Local IIS 8 / ASP.Net
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2016, 15:48 |
|
||
|
JS (WinSocket) / Local IIS 8 / ASP.Net
|
|||
|---|---|---|---|
|
#18+
RubinDm, что делать с ограничениями на количество подключений браузера https://www.future-processing.pl/blog/signalr-handling-browser-connection-limits/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2016, 15:50 |
|
||
|
|

start [/forum/topic.php?fid=18&tid=1356002]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
24ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 300ms |

| 0 / 0 |
