我可以使用 gRpc 代替 SignalR 来更新客户端通知吗?

y-m*_*-me 8 c# asp.net signalr reactjs grpc

我是 gRpc 新手,现在正在学习这项技术

我想知道 gRpc 是否可以取代 SignalR 来更新我的客户端应用程序(React)上的通知栏。是这样吗?或者我应该继续使用 SignalR 来解决这个问题?

(我问它只是为了确保我理解 gRpc 技术的目的,通过我阅读的几篇文章,它更多的是 Web API 替代品,很少有人将其与 SignalR 进行比较)

谢谢!你我

Sou*_*tti 8

假设您指的是基于浏览器的客户端,那么您不能使用 gRPC。gRPC 协议依赖于 HTTP/2 帧,特别是发送和接收 HTTP 预告片的能力。虽然浏览器本身可以并且确实使用 HTTP/2,但当前的浏览器 API ( XHR/ Fetch) 不公开 HTTP/2 语义。

然而,还有一个替代协议gRPC-web,它支持您可以从基于浏览器的应用程序中使用的 gRPC 功能的子集。鉴于它是不同的协议,您的服务器需要支持它,或者您需要使用像Envoy这样的代理来将 gRPC-web 调用转换为 gRPC。