首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Dapr输出绑定?

如何使用Dapr输出绑定?
EN

Stack Overflow用户
提问于 2022-08-25 00:44:45
回答 2查看 107关注 0票数 1

我不清楚如何使用Dapr的SignalR输出绑定

如果我理解正确的话,SignalR可以处理三方之间的通信:

  • 服务器,它将提供由客户端调用的功能,以及能够从连接的客户端调用功能;
  • 客户端,既可以调用服务器功能,也可以提供服务器调用的功能;
  • 将管理连接的集线器。

我也理解客户端要连接到集线器它必须首先连接到服务器,服务器将执行重定向。

因为Dapr直接连接到集线器,所以我假设它是服务器,对吗?

如果是的话,我如何将客户端连接到它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-09-07 14:31:04

@提供了一个很好的关于github的答复

为了获得SignalR服务,客户端需要首先与服务器进行协商,以获得服务的url和访问令牌。Dapr SignalR绑定对此没有内置支持,因此您需要自己实现它。您可以参考本文档,介绍如何手动公开协商端点:https://learn.microsoft.com/en-us/azure/azure-signalr/signalr-reference-data-plane-rest-api#implement-negotiate-endpoint Dapr SignalR绑定似乎只支持输出绑定,因此您只能使用它向客户端发送消息,但不能从客户端接收消息。您可以通过实现web钩子来接收消息来实现这一点。查看此文档以获得详细信息:https://learn.microsoft.com/en-us/azure/azure-signalr/concept-upstream 下面是一个代码片段,展示了如何使用Dapr绑定(使用node.js和express)进行协商和发送消息。希望能帮上忙。 从‘@dapr/dapr’导入{ DaprClient };从‘express’导入jwt;从‘jsonwebtoken’导入jwt;app.get('/send',(req,res) => { client.binding.send('signalr','create',{ Target:'foo',参数:'bar‘};res.send(’foo‘);}).post(’/聊天/协商‘,(req,res) => {res.send端点=/Endpoint=(.*?);/..exec(ConnectionString)1;让accessKey =/AccessKey=(.*?);/..exec(ConnectionString)1;让url = ${endpoint}/client/?hub=${hub};let token = jwt.sign({ aud: url },accessKey,{ expiresIn: 3600 });res.json({ url: url,accessToken:令牌});};app.listen(5000,() => console.log(‘服务器启动’); 然后调用/send发送消息,并在浏览器中使用以下代码来接收消息: 设connection = new signalR.HubConnectionBuilder().withUrl('/chat').build();connection.on('foo',message => console.log(message));connection.start();

为了在服务器上获得用户id,在“元数据”的“用户”字段中获得相同的用户id,他回答说:

在生成令牌时,可以在重新分配的sub声明中设置用户ID: 设token = jwt.sign({ aud: url,sub:‘},accessKey,{ expiresIn: 3600 });res.json({ url: url,accessToken:令牌});

票数 0
EN

Stack Overflow用户

发布于 2022-09-04 05:11:55

这纯粹是一个输出绑定,因此dapr连接到azure signalr服务,以便向连接到同一个服务实例的客户端发送消息。

您仍然需要有一个服务器进行协商,没有dapr输入绑定。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73480768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档