Как прослушать ответы 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