From 12bf876664845b8019d3fa00388c47125cfdb6b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B5=E9=9D=99?= <1728366814@qq.com> Date: Mon, 17 Jun 2024 14:06:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 ++ build.zig | 18 ++++++++++++++++++ main.c | 23 +++++++++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 .gitignore create mode 100644 build.zig create mode 100644 main.c diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..308b00d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.zig-cache/* +zig-out/* diff --git a/build.zig b/build.zig new file mode 100644 index 0000000..e848e0e --- /dev/null +++ b/build.zig @@ -0,0 +1,18 @@ +const std = @import("std"); + +pub fn build(b: *std.Build) void { + const target = b.standardTargetOptions(.{}); + const optimize = b.standardOptimizeOption(.{}); + + const exe = b.addExecutable(.{ + .name = "crun", + .target = target, + .optimize = optimize, + }); + + exe.addCSourceFile(.{ .file = b.path("main.c"), .flags = &.{} }); + exe.linkSystemLibrary("zmq"); + exe.linkLibC(); + + b.installArtifact(exe); +} diff --git a/main.c b/main.c new file mode 100644 index 0000000..22e4376 --- /dev/null +++ b/main.c @@ -0,0 +1,23 @@ +#include +#include +#include +#include + +int main(void) { + printf("Connecting to hello world server…\n"); + void *context = zmq_ctx_new(); + void *requester = zmq_socket(context, ZMQ_REQ); + zmq_connect(requester, "tcp://localhost:5555"); + + int request_nbr; + for (request_nbr = 0; request_nbr != 10; request_nbr++) { + char buffer[10]; + printf("Sending Hello %d…\n", request_nbr); + zmq_send(requester, "Hello", 5, 0); + zmq_recv(requester, buffer, 10, 0); + printf("Received from Server %s\n", buffer); + } + zmq_close(requester); + zmq_ctx_destroy(context); + return 0; +}