首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用dotnet aries框架中的中介代理连接两个hyperledger aries边缘代理?

如何使用dotnet aries框架中的中介代理连接两个hyperledger aries边缘代理?
EN

Stack Overflow用户
提问于 2020-09-24 22:25:04
回答 1查看 463关注 0票数 2

我想使用hyperledger aries dotnet框架实现两个边缘代理。两个代理都应该使用中介代理,即来自一个边缘代理的呼叫应该被传递到第二个边缘代理的中介代理,然后转发到第二个边缘代理。我使用路由示例中的代码设置了两个中介代理:https://github.com/hyperledger/aries-framework-dotnet/tree/master/samples/routing。我的两个边缘代理基于aspnetcore示例:https://github.com/hyperledger/aries-framework-dotnet/tree/master/samples/aspnetcore。我只在Startup.cs中将RegisterAgent替换为RegisterEdgeAgent,并将endpointUri设置为相应的中介之一。

当使用运行的中介代理启动边缘代理时,边缘代理会按预期连接到它们的中介。

但是,当我尝试连接两个边缘代理时(即,用代理1创建一个缩写,并用代理2接受它),连接状态保持为“协商”。

似乎必须有人来管理InboxItemEvent,但我不知道该如何实现。

任何想法都非常受欢迎!谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-10-15 04:11:54

上面链接的默认实现不会自动检查其中介代理中的新消息。在开发期间绕过此问题的一种方法是在两个边缘代理上设置一个计时器,该计时器将检查其相应中介代理中的新消息。基本上每隔5秒左右就会调用一次IEdgeClient.FetchInboxAsync。这将处理您的连接并将其从Negotiating状态移动到Connected状态。

中介代理使用字段InboxItemEvent来通知新消息,因此它们可以让边缘客户端知道新的收件箱消息。他们可以这样做的一种方式是使用推送通知。由于您可能正在使用控制台应用程序,因此您没有此选项,因此设置一个计时器并手动提取消息是您最好的选择。

这正是https://github.com/hyperledger/aries-mobileagent-xamarin正在做的事情--一个10秒的计时器来检查新消息。

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

https://stackoverflow.com/questions/64048570

复制
相关文章

相似问题

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