В принципе, что то что другое популярными браузерами поддерживается. Что лучше? По идее после появления HTTP/2 с его Server-Sent Events — WebSockets становится не нужным.
Кто что может сказать по одной и по второй технологии?
Здравствуйте, Shmj, Вы писали:
S>В принципе, что то что другое популярными браузерами поддерживается. Что лучше?
Для чего именно?
S>По идее после появления HTTP/2 с его Server-Sent Events — WebSockets становится не нужным.
SSE появился в 2006 году и к HTTP/2 никакого отношения не имеет.
S>Кто что может сказать по одной и по второй технологии?
WebSockets использовал. Работают. SSE не использовал. По-моему это разные технологии для разных применений. WebSocket это двусторонний канал связи. SSE это односторонний канал связи от сервера к клиенту.
Здравствуйте, vsb, Вы писали:
vsb>WebSockets использовал. Работают. SSE не использовал. По-моему это разные технологии для разных применений. WebSocket это двусторонний канал связи. SSE это односторонний канал связи от сервера к клиенту.
Просто смотрю gRPC — там есть Bi-directional streaming call. Вроде без WebSockets сделано. Возможно комбинация SSE и обычных запросов, нужно пока не проверял.
Здравствуйте, Shmj, Вы писали:
S>В принципе, что то что другое популярными браузерами поддерживается. Что лучше?
Что то одно использовать в большинстве случаев все равно нельзя. Воспользуйся готовой библиотекой, поддерживающей несколько вариантов, например SignalR.
Здравствуйте, 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. Это можно использовать только в обычных приложениях.
Здравствуйте, 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 и обычных запросов, нужно пока не проверял.
Вызов gRPC через HTTP/2 с Grpc.Net.Client в настоящее время не поддерживается в Xamarin. Мы работаем над улучшением поддержки HTTP/2 в будущих выпусках Xamarin. Grpc.Core и gRPC-Web являются приемлемыми работающими альтернативами, которые доступны на сегодняшний день.
S>Кто что может сказать по одной и по второй технологии?
HTTP2 — переходная технология. HTTP/1.1 на tcp будет работать с WebSocket и принимать события от сервера, HTTP3 на основе UDP будет отвечать на запросы клиента (сессии UDP умирают от 1-ой (10% соединений) до 5-ти (99% соединений) минут, поэтому вебсокеты там жить не смогут). HTTP2 умрет за отсутствием преимуществ, а значит, и смысла в его поддержке (сервер быстрее отдаст данные по HTTP3/UDP, да и мультиплексирование там работает без ступора всех потоков при потере любого пакета, а веб сокеты будут работать на HTTP/1.1/TLS1.3, который в любом случае придется поддерживать).