c# - 带有 gRPC + Websockets 的 ASP.NET 服务器
问题描述
我正在尝试实现一个 ASP.NET 服务器,它应该响应 gRPC 调用并维护与其客户端的 websocket 连接。我想使用独立的 Kestrel 变体。
我一直在苦苦挣扎,现在我知道我的情况似乎出了什么问题:gRPC 需要 HTTP/2,而 Websockets(至少我尝试过的客户端)似乎需要 HTTP/1.1。
通过设置相关的 Kestrel 应用程序设置(“协议”:“Http2”或“协议”:“Http1”),我可以使任一部分工作。还有一个 Http1AndHttp2 变体,但没有区别。
我在这里有误解吗?这有可能吗?或者 Websockets 能否以某种方式与 HTTP/2 兼容?
顺便说一句,我知道我可以使用 gRPC 流来实现类似的事情,事实上我已经在运行了。但我的印象是 websockets 仍然是更成熟的技术,所以这将是我的首选解决方案。
非常感谢:-)
更新:我自己想通了。我可以简单地告诉 Kestrel 为每个协议提供不同的端点。忽略了最明显和最简单的解决方案:-/
解决方案
推荐阅读
- spring-boot - Apache Camel AS2 如何处理异步 mdn
- clips - CLIPS:CLIPS 中的数组?(需要一些指导,CLIPS 中的新功能)
- c++ - 如何获取驱动器的文件复制百分比或文件复制进度
- reactjs - RangeFormat 的 columnWidth 给出了一些随机数,而不是给出了 excel-addin office-js 中的实际宽度
- pine-script - 获取特定时间框架蜡烛的 OHLC 值 - 使用 pinescript
- reactjs - 在 React 中的路由器组件之间传递数据
- python-3.x - 有没有一种简单的方法可以知道 NLTK 或 spacy 中的人专有名词的性别?
- sql - 在 Oracle SQL 中查询时态表的性能问题
- javascript - 将图像从 javascript 导入到 .pug
- excel - 基于 MS Access 中的输入表单创建报告