OrgEleCho / EleCho.GoCqHttpSdk

专为 Go-CqHttp 打造, 完全遵守 C# 编码规范, 优雅与便捷的通信 SDK
MIT License
107 stars 17 forks source link

[功能] HTTP / WebSocket 在 ASP.NET Core 中与 Kestrel 共用端口 #46

Open yiyungent opened 1 year ago

yiyungent commented 1 year ago

描述您想要的解决方案

一个清晰简洁的描述, 说明你想要什么.

我想将本项目用于 ASP.NET Core 项目中,但目前的话,无论用 HTTP / WebSocket (Server模式) 都会新监听一个端口,

希望与 ASP.NET Core 的 Kestrel 共用端口,进行端口复用,就像 ASP.NET Core 自带的 WebSocket Middleware 一样共用端口,

你曾考虑过的替代方案

你考虑过的任何替代解决方案或功能的清晰简明描述.

当然 HTTP API 的话,可以在外部用 Nginx 子路径转发实现在外部共用一个端口,但最好还是在程序内部共用端口吧,可以将 HTTP 处理响应逻辑提取出来,然后我写个 HTTP Middleware ,只要符合要求的就都交给 EleCho.GoCqHttpSdk 响应处理即可,这样就共用端口了

您的功能请求是否与某些问题相关

一个清晰简洁的问题描述. 例如:我总是在......时觉得不方便

附加信息

在这里添加一些关于功能请求的其他附加信息或图片

SlimeNull commented 1 year ago

反向 HTTP 和反向 WebSocket 底层都是基于 HttpListener 的, 据我所知, HttpListener 不支持端口复用

xuzhenlei commented 9 months ago

他的意思应该是像SignalR一样,可以用同一个端口