Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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));
            }
        }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 4
0
        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();
        }