HTTP/2 SSE vs WebSockets
От: Shmj Ниоткуда  
Дата: 03.07.20 11:33
Оценка:
1. https://caniuse.com/#feat=http2
2. https://caniuse.com/#feat=websockets

В принципе, что то что другое популярными браузерами поддерживается. Что лучше? По идее после появления HTTP/2 с его Server-Sent Events — WebSockets становится не нужным.

Кто что может сказать по одной и по второй технологии?
Re: HTTP/2 SSE vs WebSockets
От: vsb Казахстан  
Дата: 03.07.20 11:55
Оценка:
Здравствуйте, Shmj, Вы писали:

S>В принципе, что то что другое популярными браузерами поддерживается. Что лучше?


Для чего именно?

S>По идее после появления HTTP/2 с его Server-Sent Events — WebSockets становится не нужным.


SSE появился в 2006 году и к HTTP/2 никакого отношения не имеет.

S>Кто что может сказать по одной и по второй технологии?


WebSockets использовал. Работают. SSE не использовал. По-моему это разные технологии для разных применений. WebSocket это двусторонний канал связи. SSE это односторонний канал связи от сервера к клиенту.
Re[2]: HTTP/2 SSE vs WebSockets
От: Shmj Ниоткуда  
Дата: 03.07.20 12:47
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>WebSockets использовал. Работают. SSE не использовал. По-моему это разные технологии для разных применений. WebSocket это двусторонний канал связи. SSE это односторонний канал связи от сервера к клиенту.


https://tools.ietf.org/id/draft-xie-bidirectional-messaging-01.html

Просто смотрю gRPC — там есть Bi-directional streaming call. Вроде без WebSockets сделано. Возможно комбинация SSE и обычных запросов, нужно пока не проверял.
Отредактировано 03.07.2020 12:48 Shmj . Предыдущая версия . Еще …
Отредактировано 03.07.2020 12:48 Shmj . Предыдущая версия .
Re: HTTP/2 SSE vs WebSockets
От: Ночной Смотрящий Россия  
Дата: 03.07.20 14:09
Оценка:
Здравствуйте, Shmj, Вы писали:

S>В принципе, что то что другое популярными браузерами поддерживается. Что лучше?


Что то одно использовать в большинстве случаев все равно нельзя. Воспользуйся готовой библиотекой, поддерживающей несколько вариантов, например SignalR.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[3]: HTTP/2 SSE vs WebSockets
От: vsb Казахстан  
Дата: 03.07.20 14:24
Оценка:
Здравствуйте, Shmj, Вы писали:

vsb>>WebSockets использовал. Работают. SSE не использовал. По-моему это разные технологии для разных применений. WebSocket это двусторонний канал связи. SSE это односторонний канал связи от сервера к клиенту.


S>https://tools.ietf.org/id/draft-xie-bidirectional-messaging-01.html


Так это и не то и не другое. И вообще не для браузеров.

S>Просто смотрю gRPC — там есть Bi-directional streaming call. Вроде без WebSockets сделано. Возможно комбинация SSE и обычных запросов, нужно пока не проверял.


А оно вообще поддерживается в браузере? Если верить статье в блоге от начала 2019 года, то не поддерживается.

На всякий случай поясню, что HTTP/2 может слать данные в обе стороны на уровне протокола, но на уровне браузера этот функционал не поддерживается, нет такого API. Это можно использовать только в обычных приложениях.
Отредактировано 03.07.2020 14:26 vsb . Предыдущая версия .
Re[3]: HTTP/2 SSE vs WebSockets
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 03.07.20 14:34
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Здравствуйте, vsb, Вы писали:


vsb>>WebSockets использовал. Работают. SSE не использовал. По-моему это разные технологии для разных применений. WebSocket это двусторонний канал связи. SSE это односторонний канал связи от сервера к клиенту.


S>https://tools.ietf.org/id/draft-xie-bidirectional-messaging-01.html


S>Просто смотрю gRPC — там есть Bi-directional streaming call. Вроде без WebSockets сделано. Возможно комбинация SSE и обычных запросов, нужно пока не проверял.


В браузере нет поддержки Bi-directional streaming call. Во всяком случае Blazor
https://devblogs.microsoft.com/aspnet/grpc-web-for-net-now-available/


https://docs.microsoft.com/ru-ru/aspnet/core/grpc/browser?view=aspnetcore-3.1
Вызвать службу HTTP/2 gRPC из приложения на основе браузера невозможно. gRPC-Web — это протокол, позволяющий приложениям JavaScript и Blazor на основе браузера вызывать службы gRPC.


Ксамарин тоже урезанный
https://docs.microsoft.com/ru-ru/aspnet/core/grpc/client?view=aspnetcore-3.1

Вызов gRPC через HTTP/2 с Grpc.Net.Client в настоящее время не поддерживается в Xamarin. Мы работаем над улучшением поддержки HTTP/2 в будущих выпусках Xamarin. Grpc.Core и gRPC-Web являются приемлемыми работающими альтернативами, которые доступны на сегодняшний день.



А так на gRPC делают чаты и прочее
https://medium.com/@eddyf1xxxer/bi-directional-streaming-and-introduction-to-grpc-on-asp-net-core-3-0-part-2-d9127a58dcdb

https://github.com/Cysharp/MagicOnion
и солнце б утром не вставало, когда бы не было меня
Отредактировано 03.07.2020 14:36 Serginio1 . Предыдущая версия .
Re: HTTP/2 SSE vs WebSockets
От: Reset  
Дата: 06.07.20 03:05
Оценка:
S>Кто что может сказать по одной и по второй технологии?

HTTP2 — переходная технология. HTTP/1.1 на tcp будет работать с WebSocket и принимать события от сервера, HTTP3 на основе UDP будет отвечать на запросы клиента (сессии UDP умирают от 1-ой (10% соединений) до 5-ти (99% соединений) минут, поэтому вебсокеты там жить не смогут). HTTP2 умрет за отсутствием преимуществ, а значит, и смысла в его поддержке (сервер быстрее отдаст данные по HTTP3/UDP, да и мультиплексирование там работает без ступора всех потоков при потере любого пакета, а веб сокеты будут работать на HTTP/1.1/TLS1.3, который в любом случае придется поддерживать).
Отредактировано 06.07.2020 5:23 Reset . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.