当前位置: 首页 > 知识库问答 >
问题:

WebSocket请求-响应子协议

赏阳嘉
2023-03-14

WebSocket提供了一种像人类对话一样的双向通信。客户端可以向服务器发送数据,服务器可以随时向客户端发送数据。但是请求-响应行为呢?客户端可以向服务器询问一些内容并等待响应。看来Websocket并没有提供任何东西来将客户端数据(请求)链接到服务器数据(响应)。

这可能是子协议的工作,我对如何做到这一点有一些想法(发送一个ID和请求,并在超时期间内等待一个具有相同ID的响应)。

为了不推倒重来,并节省一些时间,我在互联网上寻找一个现有的解决方案,但我没有找到任何相关的(可能是坏的关键字)。

那么,有没有人意识到这种工作,还是我遗漏了什么?

共有1个答案

梁丘远航
2023-03-14

WebSocket Application Messaging Protocol(WAMP)https://wamp-proto.org/为此在原始WebSocket之上提供了RPC(远程过程调用)和PubSub(发布和订阅)消息传递模式。

WAMP是一个合适的WebSocket子协议,使用WebSocket作为传输,使用JSON作为负载格式。RPC使用3条消息实现,这些消息包含一个“调用ID”,用于将异步RPC服务器响应与客户端发起的过程调用相关联。

免责声明:我是WAMP和一些(开源)WAMP实现的作者。这是一个开放的倡议,其他人已经开始上船。最终,应该有一个正确定义协议的WAMP RFC。但仍处于初期阶段。

 类似资料:
  • 介绍 YurunHttp 的请求响应类,结果类。除了遵循 PSR-7 规范,另外还增加了一些人性化的方法。 类:Yurun\Util\YurunHttp\Http\Response use Yurun\Util\HttpRequest; $http = new HttpRequest; $response = $http->get('http://www.baidu.com'); 方法 响应内

  • 我有一个带有位置和简单的NJS场景的Nginx服务器,在那里我需要解析surequest的响应。来自API的响应有这样一个报头: “content-type”:“application/json;charset=utf-8”,“cache-control”:“no-store”,“content-encoding”:“gzip”,... 当我试图阅读responseBody时,它如下所示: \u0

  • 概述 Django 使用Request 对象和Response 对象在系统间传递状态。 当请求一个页面时,Django会建立一个包含请求元数据的 HttpRequest 对象。 当Django 加载对应的视图时,HttpRequest 对象将作为视图函数的第一个参数。每个视图会返回一个HttpResponse 对象。 本文档对HttpRequest 和HttpResponse 对象的API 进行说

  • gRPC 1.1.0 C#。NET 4.6 Windows 7/Windows 10 我刚刚在C#中测试了gRPC的性能,对它在计算机之间的性能感到困惑。小消息需要一致的200ms发送/回复时间,而较大的消息(大约1500个字符)是亚毫秒。请参阅下面的客户端/服务器代码。处理小消息是否需要额外的配置? 我的测试遵循以下入门指南:http://www.grpc.io/docs/quickstart/

  • 在SpringMVC项目中,客户机发送一个带有序列化对象的请求,客户机本身是一个小程序,所以它不希望收到一个web页面作为响应,而是一个带有字符串对象的响应,该响应将告诉他这是成功还是失败。那么解决方案是什么呢?我想在@Controller中使用返回void的方法,或者返回不存在页面的方法?(在这两种情况下,我还想知道是否有回复给客户)

  • HTTP请求和HTTP响应在任何Web应用程序中都发挥着重要作用。 我们需要获取http请求的完整详细信息以便正确处理它。 处理完毕后,我们需要通过http响应将处理后的数据发送给客户端。 FuelPHP提供了出色的Request和Response类,分别用于读写HTTP请求和HTTP响应。 让我们在本章中了解Request和Response类。 Request 在典型的Web应用程序中,应用程序