예제 #1
0
        public override async Task HandleMessageAsync(MessageHeader header, LXWebSocket socket, CancellationToken cancellationToken)
        {
            var content = new byte[header.Length];
            await socket.ReceiveAtomicAsync(new ArraySegment <byte>(content), true, cancellationToken).ConfigureAwait(false);

            var s = LXWebSocket.Encoding.GetString(content);

            base.TrySetResult(s);
        }
        public override async Task HandleMessageAsync(MessageHeader header, LXWebSocket socket, CancellationToken cancellationToken)
        {
            var content = new byte[header.Length];
            await socket.ReceiveAtomicAsync(new ArraySegment <byte>(content), true, cancellationToken).ConfigureAwait(false);

            var s = LXWebSocket.Encoding.GetString(content);

            if (Decoder != null)
            {
                s = Decoder.DecodeCommand(s);
            }

            var response = LXResponse <T> .Deserialize(s);

            base.TrySetResult(response);
        }