【问题标题】:How do I create a websocket client in C# Asp.net MVC?如何在 C# Asp.net MVC 中创建 websocket 客户端?
【发布时间】:2021-05-18 09:05:45
【问题描述】:

早上好, 如何在 C# Asp.net MVC 中连接到 Websocket,同时保持连接处于活动状态?

我在网上找,但我发现只创建服务器而不是客户端

【问题讨论】:

    标签: c# asp.net asp.net-mvc websocket client


    【解决方案1】:

    .net 5 有教程 -> https://sahansera.dev/understanding-websockets-with-aspnetcore-5/

    对于 .net core 3.1,一切都类似,但要使用 Controller,您需要使用中间件

    public class WebSocketMiddleware
    {
        ...
    
        public async Task Invoke(HttpContext context)
        {
                if (!context.WebSockets.IsWebSocketRequest)
                {
                    context.Response.StatusCode = 400;
                    return;
                }
    
                WebSocket socket = await context.WebSockets.AcceptWebSocketAsync();
    
                ...
        }
    }
    

    或者你也可以使用 SignalR https://docs.microsoft.com/en-us/aspnet/core/signalr/introduction?view=aspnetcore-5.0

    但您可以在官方文档https://docs.microsoft.com/en-us/aspnet/core/fundamentals/websockets?view=aspnetcore-3.1中找到大多数信息

    【讨论】:

      【解决方案2】:

      哦,对不起,您正在寻找客户...

      您可以创建一个服务类来处理您的 WebSocketClient 并使用异步连接/断开方法。 不仅仅是在一些 IHostedService 中调用这个方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-24
        • 2017-05-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-02
        相关资源
        最近更新 更多