public async Task SendMessage(WebSocketMessage msg)
        {
            string szMsg = msg.ToString();

            var bMsg = Encoding.UTF8.GetBytes(szMsg);

            var compressedMsg = GZipHelper.Compress(bMsg);

            using (var cts = new CancellationTokenSource(ReadTimeout))
            {
                await clientWebSocket.SendAsync(new ArraySegment <byte>(compressedMsg), WebSocketMessageType.Binary, true, cts.Token);
            }
        }
        public async Task StartRecive()
        {
            var buffer     = new byte[4096 * 2];
            int startIndex = 0;

            if (clientWebSocket.State != WebSocketState.Open)
            {
                return;
            }

            await SendListPendingMessage();

            while (clientWebSocket.State == WebSocketState.Open)
            {
                var rcvBuffer = new ArraySegment <byte>(buffer, startIndex, buffer.Length - startIndex);
                var response  = await clientWebSocket.ReceiveAsync(rcvBuffer, CancellationToken.None);

                if (response.MessageType == WebSocketMessageType.Close)
                {
                    await clientWebSocket.CloseAsync(WebSocketCloseStatus.NormalClosure, "Close response received",
                                                     CancellationToken.None);

                    onClosed?.Invoke(this, null);
                    return;
                }
                if (response.MessageType == WebSocketMessageType.Binary)
                {
                    if (response.EndOfMessage)
                    {
                        var js  = GZipHelper.Decompress(buffer);
                        var sjs = Encoding.ASCII.GetString(js);
                        // Console.WriteLine("收到的报文为:" + sjs);
                        onRecivedMessage?.Invoke(this, null, sjs);

                        startIndex = 0;
                    }
                    else
                    {
                        startIndex += response.Count;
                    }
                }
            }
        }