Я учусь использовать SignalR, и до сих пор у меня был успех в этом. Я могу реализовать Hubs, я могу реализовать бизнес-логику, я могу вызывать функции на стороне клиента с сервера, для которого я хочу, я могу ссылаться на серверные методы с клиентской стороны, этот материал замечательный. Меня озадачивает теория.Почему SIgnalR предпочитает Forever Frames над опросом?
Фактически, я собрал информацию об этом video. SignalR использует WebSockets, которые предоставляют full duplex channel по одному соединению TCP. Если нет доступных WebSockets, тогда резервный протокол будет EventSource. Если это недоступно, тогда будет использоваться Forever Frame. Если это недоступно, будет использоваться Long Polling. Для меня довольно странно, что очень устаревшее решение, как и всегда, предпочтительнее старой конвенции, и меня интересует обоснование решения SignalR о том, чтобы навсегда использовать кадры в качестве третьего варианта и опроса в качестве четвертого варианта.
Я попытался выяснить ответ на этот вопрос, и я узнал, что, по слухам, это there is a 3x max latency time in the case of long polling compared to forever frames. Это факт, и если да, то это факт для всех браузеров или для подмножества?
Понял и благодарю вас за ваш ответ, который уже заслужил победу. Однако мне интересно, можете ли вы фактически подтвердить, что 3-кратная латентность из-за необходимости открытия HTTP-канала каждый раз, когда Poller отправляет данные, действительно существует. –
Отправка данных работает одинаково - в обоих случаях создается новый HTTP-запрос, поэтому я бы сказал, что нет разницы в задержке между foreverFrame и longPolling при отправке данных. – Pawel
Есть ли время ожидания при получении? –