ASP .NET核心中间件将HTTP连接降级为TCP或套接字

时间:2018-07-18 08:58:26

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

我尝试过asp .net核心中间件教程:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/middleware/?view=aspnetcore-2.1&tabs=aspnetcore2x#built-in-middleware

https://radu-matei.com/blog/aspnet-core-websockets-middleware/

在那里,您需要一个带有httpcontext对象的invoke方法,如下所示:

public async Task Invoke(HttpContext context)
        {
            if(!context.WebSockets.IsWebSocketRequest)
                return;

            var socket = await context.WebSockets.AcceptWebSocketAsync();
            await _webSocketHandler.OnConnected(socket);

            await Receive(socket, async(result, buffer) =>
            {
                if(result.MessageType == WebSocketMessageType.Text)
                {
                    await _webSocketHandler.ReceiveAsync(socket, result, buffer);
                    return;
                }

                else if(result.MessageType == WebSocketMessageType.Close)
                {
                    await _webSocketHandler.OnDisconnected(socket);
                    return;
                }

            });
        }

当前,本教程中使用了websocket连接。是否可以将websocket连接降级为tcp或套接字连接?

0 个答案:

没有答案