static async Task Test() { using (MqClient client = new MqClient("localhost:15555")) { //1) Create MQ if necessary(empty in zbus), you may ommit this step const string mq = "MyMQ"; Message data = new Message(); data.Headers["cmd"] = "create"; data.Headers["mq"] = mq; var res = await client.InvokeAsync(data); Console.WriteLine(JsonKit.SerializeObject(res)); //2) Publish Message data = new Message(); data.Headers["cmd"] = "pub"; data.Headers["mq"] = mq; data.Body = "Hello from C#"; res = await client.InvokeAsync(data); Console.WriteLine(JsonKit.SerializeObject(res)); } }
static void Main(string[] args) { MqClient client = new MqClient("localhost:15555"); const string mq = "MyMQ"; const string channel = "MyChannel"; client.OnOpen += async(c) => { Message data = new Message(); data.Headers["cmd"] = "create"; data.Headers["mq"] = mq; data.Headers["channel"] = channel; var res = await client.InvokeAsync(data); Console.WriteLine(JsonKit.SerializeObject(res)); data = new Message(); data.Headers["cmd"] = "sub"; data.Headers["mq"] = mq; data.Headers["channel"] = channel; data.Headers["window"] = 1; res = await client.InvokeAsync(data); Console.WriteLine(JsonKit.SerializeObject(res)); }; client.AddMqHandler(mq, channel, (msg) => { Console.WriteLine(JsonKit.SerializeObject(msg)); }); client.ConnectAsync().Wait(); }