コード例 #1
0
        private async static Task Echo(HttpContext context, System.Net.WebSockets.WebSocket webSocket, IWebSocket i_webSocket, object instance, Type t)
        {
            while (webSocket.State == WebSocketState.Open)
            {
                try
                {
                    SocketResult data = await i_webSocket.ReceiveAsync();

                    // string target = json["target"].ToString();
                    // string method = json["method"].ToString();

                    // SocketResult data = new SocketResult(target, method, json["data"]);

                    if (data.method == "on")//监听
                    {
                        i_webSocket.AddListener(data.target, i_webSocket);
                    }
                    else
                    {
                        t.GetMethod(data.method + "_" + data.target)?.Invoke(instance, new Object[] { context, data });
                    }
                }
                catch (Exception)
                {
                    //context.Response.StatusCode = 404;
                }
            }
        }