diff options
| author | Mitja Felicijan <mitja.felicijan@gmail.com> | 2024-09-16 04:07:51 +0200 |
|---|---|---|
| committer | Mitja Felicijan <mitja.felicijan@gmail.com> | 2024-09-16 04:07:51 +0200 |
| commit | 1c5d09532f18da2a7b6a2a3164380ec76ac11cc1 (patch) | |
| tree | a7447cc60f4b74240ab8c718d6994c0600d63c8b /zig-telnet | |
| parent | a88439202868a90745fa56f489ac698bbda73c45 (diff) | |
| download | probe-1c5d09532f18da2a7b6a2a3164380ec76ac11cc1.tar.gz | |
Added Zig and Telnet example using Redis server as Telnet server
Diffstat (limited to 'zig-telnet')
| -rw-r--r-- | zig-telnet/Makefile | 11 | ||||
| -rw-r--r-- | zig-telnet/main.zig | 21 |
2 files changed, 32 insertions, 0 deletions
diff --git a/zig-telnet/Makefile b/zig-telnet/Makefile new file mode 100644 index 0000000..346280d --- /dev/null +++ b/zig-telnet/Makefile @@ -0,0 +1,11 @@ +default: write read + +write: + zig run main.zig + +read: + echo -e "Reading value back from Redis server" + { echo "GET zig"; sleep 1; } | telnet localhost 6379 + +redis: + docker run -p 6379:6379 redis diff --git a/zig-telnet/main.zig b/zig-telnet/main.zig new file mode 100644 index 0000000..0f396b9 --- /dev/null +++ b/zig-telnet/main.zig @@ -0,0 +1,21 @@ +const std = @import("std"); + +// NOTE: Start Redis server with either `make redis` which requires +// Docker to be installed or provide your own Redis instance. + +pub fn main() !void { + const peer = try std.net.Address.parseIp4("127.0.0.1", 6379); + const stream = try std.net.tcpConnectToAddress(peer); + defer stream.close(); + + std.debug.print("Connecting to Redis server {}\n", .{peer}); + + // https://redis.io/docs/latest/commands/set/ + var writer = stream.writer(); + const size = try writer.write("SET zig zag\n"); + + std.debug.print("Sending to peer, total written: {d} bytes\n", .{size}); + + // NOTE: Check if the key was created with: + // { echo "GET zig"; sleep 1; } | telnet localhost 6379 +} |
