有没有办法在 WebSocket 中支持多路复用?类似于 http/2 中的流 ID
Is there a way to support multiplexing in WebSocket? similar to stream id in http/2
WebSocket 与 http/2 一样是双向和全双工的。
因此客户端可以同时发起多个请求。
stream id 在http/2 中有支持多个请求的概念,可以由服务器以乱序方式交错处理。
例如,客户端可以发送多个流 ID 分别为 1、3 和 5 的请求 r1、r2 和 r3。然后服务器可以处理它们并在服务器完成客户端请求时做出响应。
在这种情况下,我们假设 r2、r3 和 r1。
因此,客户端可能会按 r2、r3 和 r1 的顺序收到结果。
客户端可以通过stream id来区分请求的结果。
我们如何在 WebSocket 中做到这一点?需要在应用层实现吗?像在 WebSocket 负载中包含流 ID 之类的东西?或者 服务器保证结果顺序为 r1, r2, r3.
How can we do that in WebSocket? Does we need to implement it in application layer?
是的,您需要在 WebSocket 之上实现它。或者您可以将 HTTP/2 与双向流一起使用?因为它已经有了这个功能。
WebSocket 与 http/2 一样是双向和全双工的。 因此客户端可以同时发起多个请求。
stream id 在http/2 中有支持多个请求的概念,可以由服务器以乱序方式交错处理。 例如,客户端可以发送多个流 ID 分别为 1、3 和 5 的请求 r1、r2 和 r3。然后服务器可以处理它们并在服务器完成客户端请求时做出响应。 在这种情况下,我们假设 r2、r3 和 r1。 因此,客户端可能会按 r2、r3 和 r1 的顺序收到结果。 客户端可以通过stream id来区分请求的结果。
我们如何在 WebSocket 中做到这一点?需要在应用层实现吗?像在 WebSocket 负载中包含流 ID 之类的东西?或者 服务器保证结果顺序为 r1, r2, r3.
How can we do that in WebSocket? Does we need to implement it in application layer?
是的,您需要在 WebSocket 之上实现它。或者您可以将 HTTP/2 与双向流一起使用?因为它已经有了这个功能。