.net核心中间件接受tcpclient连接

时间:2018-07-26 11:56:10

标签: c# asp.net-core tcp .net-core asp.net-core-middleware

我实现了有关以下教程的中间件示例:https://radu-matei.com/blog/aspnet-core-websockets-middleware/。我试图通过http和websockets连接,但效果很好。

此后,我尝试将tcpclient类连接到中间件,但无法建立连接。

然后像以前的.net版本一样,使用tcplistener类进行了尝试: https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.server.kestrel.internal.http.tcplistener?view=aspnetcore-1.1&viewFallbackFrom=aspnetcore-2.1

我在应用程序的主要方法中实现了tcplistener,该方法正在侦听与中间件不同的端口。因此,我在应用程序中有两个服务器,分别是websocketserver和tcpserver。

我想避免使用tcplistener创建的tcp服务器,并管理与中间件的tcpclient连接。 .net核心中间件中,除了websocket连接之外,是否还可以接受tcpclient连接?

1 个答案:

答案 0 :(得分:0)

Web套接字的背后是TCP连接,但首先不是TCP连接,来自Web套接字客户端的http / https请求将到达dotnet核心http服务器(如Krestel),但稍后将发送升级包,它将升级到TCP连接,因此实际上您已经在使用TCP连接,但是无法通过TCP客户端与Web套接字服务器建立连接。 您可以做的是改用.net Web套接字客户端实现,这将负责初始升级部分,最终您将拥有TCP连接的功能。