В чем разница между grpc и websocket? Какой из них больше подходит для двунаправленного потокового соединения?

Я хочу разработать клиент-серверное приложение в режиме двунаправленной потоковой передачи.

какая технология больше подходит для этого - grpc или websocket?

Ответ 1

gRPC не является действительно важной частью для сравнения, поскольку gRPC использует HTTP/2, который, безусловно, можно сравнить с WebSockets.

https://www.infoq.com/articles/websocket-and-http2-coexist

Эта статья описывает их довольно хорошо. По сути, HTTP/2 - это клиент/сервер с серверной рассылкой в фоновом режиме, поэтому вы можете сделать свой запрос и просто оставаться на этом соединении, прослушивая обновления, например, без необходимости опроса.

Хотя WebSockets не исчезают из-за HTTP/2, они могут не считаться необходимыми для вариантов использования, которые сосредоточены вокруг "дайте мне знать, когда происходят обновления, связанные с тем, что я только что сделал".