static void Websocket(string[] args) { WebsocketClient ws = new WebsocketClient("localhost:15555"); ws.BeforeSend = (msg) => { msg.Headers["cmd"] = "pub"; msg.Headers["mq"] = "MyRpc"; msg.Headers["ack"] = "false"; }; ws.OnOpen += async(client) => { IDictionary <string, object> data = new Dictionary <string, object>(); data["method"] = "plus"; data["params"] = new object[] { 1, 2 }; data["module"] = "/"; for (int i = 0; i < 100; i++) { Message msg = new Message { Body = data }; var res = await ws.InvokeAsync(msg); Console.WriteLine(JsonKit.SerializeObject(res)); } }; ws.ConnectAsync(); }
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 async Task Test() { using (RpcClient rpc = new RpcClient("localhost:15555")) { //rpc.AuthEnabled = true; //rpc.ApiKey = "2ba912a8-4a8d-49d2-1a22-198fd285cb06"; //rpc.SecretKey = "461277322-943d-4b2f-b9b6-3f860d746ffd"; //dynamic IService svc = rpc.CreateProxy <IService>("/example"); int c = svc.plus(1, 2); Console.WriteLine(c); int res = await rpc.InvokeAsync <int>("/example/plus", new object[] { 1, 2 }); Console.WriteLine(JsonKit.SerializeObject(res)); //string str = await svc.getString("hong"); //support remote await! //Console.WriteLine(str); } }
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(); }