小编Qui*_*nch的帖子

C# Websocket 远程方没有完成关闭握手就关闭了WebSocket连接

您好,我目前正在为我的非常基本的站点实现一个 websocket 组件。我正在运行 .NET Core 3.1 HTTP 侦听器来提供 html 服务,我一直被实现 websockets 难住了。

我以前在 C# 中使用过 TCP,并且了解所有内容的流程,但 websockets 对我来说是新事物。这是接受 websockets 的 C# 代码

        [Route("/socket", "GET")]
        public static async Task upgrade(HttpListenerContext c)
        {
            if (!c.Request.IsWebSocketRequest)
            {
                c.Response.StatusCode = 400;
                c.Response.Close();
                return;
            }

            try
            {
                var sock = (await c.AcceptWebSocketAsync(null)).WebSocket;
                byte[] buff = new byte[1024];
                var r = await sock.ReceiveAsync(buff, System.Threading.CancellationToken.None);
            }
            catch (Exception x) 
            {
                Console.WriteLine($"Got exception: {x}");
            }
           
            //WebSocketHandler.AddSocket(sock);
            
        }
Run Code Online (Sandbox Code Playgroud)

我添加var r = await sock.ReceiveAsync(buff, System.Threading.CancellationToken.None);到这个函数是因为最初我在我的 WebSocketHandler 类中遇到了异常,所以我将代码移到一个函数中进行测试。

这是客户端: …

.net javascript c# websocket .net-core

5
推荐指数
1
解决办法
2423
查看次数

标签 统计

.net ×1

.net-core ×1

c# ×1

javascript ×1

websocket ×1