Как прослушать ответы Redis Server на Redis CLI?

Я пытаюсь вставить свое приложение между сервером Redis и его коллегой Redis Cli. Я хочу иметь возможность видеть, что сервер отправляет Redis-Cli в качестве ответа (необработанные байты, в соответствии с протоколом RESP).

                      Redis-Cli ----------Command---------->Redis Server
                                <--------Response----------
                                            ^
                                            |
                           Console App that logs the response 

До сих пор я пробовал следующую реализацию слушателя, но он не получает ответы от Redis-Server:

class Program {
        static async Task Main(string[] args) {
            IPAddress address = IPAddress.Parse("127.0.0.1");
            Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            IPEndPoint point = new IPEndPoint(address, 6379);
            Memory<byte> bytes;
            await socket.ConnectAsync(point);
            Console.WriteLine("Connected to port 6379...");
            do {
                if (!socket.Connected) {
                    break;
                }
                Console.WriteLine("Waiting for on Command Response...");
                await socket.ReceiveAsync(bytes, SocketFlags.None);
                Console.WriteLine("Printing received response...");
                bytes.Print();
            } while (Console.ReadKey().Key != ConsoleKey.Escape);

            Console.WriteLine("Hello World!");
        }


    }
    static class MemoryExtensions {
        public static void Print(this Memory<byte> memory) {
            for (int i = 0; i < memory.Span.Length; i++) {
                Console.Write(memory.Span[i]);
            }
            Console.Write("\r\n");
        }
    }

Как я проверю это до сих пор:

    1.I open a Redis-Server 
    2.I open a Redis-CLi on port 6379
    3.I write in the cli  commands eg:  `set a 3`
    4.(Not happening) Receive the bytes in the `bytes` variable

0 ответов

Другие вопросы по тегам