+
80
-

HTTP、WebSockets、gRPC、WebRTC 如何选择?

HTTP、WebSockets、gRPC、WebRTC 如何选择?


网友回复

+
0
-

HTTP:使用 HTTP/2 可以在客户端和服务器之间进行双向通信。 对于某些应用程序,您可能不需要全双工通信,像 SSE 这样的东西就足够了。 我们在本文中也发现 WebSockets 和 gRPC 依赖于 HTTP,而 WebRTC 也需要一些其他的信令通道。 在深入研究这些其他协议之前,值得首先探索 HTTP 是否能满足您的实际需求。

WebSockets: 最适合需要双向通信的实时应用程序,例如聊天应用程序, WebSockets 也相对容易设置和使用。 但是,WebSockets 的效率不如 gRPC 或 WebRTC,它们不太适合需要发送大量数据的应用程序。

gRPC: 是一种比 WebSockets 更高效的协议,更适合需要发送大量数据的应用程序。 但是,gRPC 的设置和使用比 WebSockets 更复杂。 如果你需要进行很多小的 API 调用,gRPC 是一个不错的选择。 或者,当你用各种需要通信的编程语言实现微服务时,那么 gRPC 的序列化结构化数据和代码生成会为你节省大量时间。 值得注意的是,您无法在浏览器端轻松使用 gRPC,当然您可以手动引入 grpc-web。 WebRTC: 是浏览器和设备之间低延迟实时通信的最有效协议,非常适合需要发送大量数据的应用程序。 WebRTC 还提供了简单易用的 API,可直接在浏览器中使用,从而轻松共享您的相机、音频、屏幕或其他文件。 但是,WebRTC 的设置和使用可能很复杂,因为它需要您执行信号发送,维护 TURN 和 STUN 服务器。
我知道答案,我要回答