Example #1
0
        public override async Task <GetMsgSumReply> GetSum(GetMsgNumRequest request, ServerCallContext context)
        {
            var result = new GetMsgSumReply();

            result.Sum = request.Num1 + request.Num2;
            return(await Task.FromResult(result));
        }
Example #2
0
        public override async Task <GetMsgSumReply> GetSum(GetMsgNumRequest request, ServerCallContext context)
        {
            var result = new GetMsgSumReply();

            result.Sum = request.Num1 + request.Num2;

            Console.WriteLine(request.Num1 + "+" + request.Num2 + "=" + result.Sum);

            return(result);
        }
Example #3
0
        public GetMsgMulReply GetMul(GetMsgNumRequest request)
        {
            var result = new GetMsgMulReply();

            result.Mul = request.Num1 * request.Num2;

            Console.WriteLine(request.Num1 + "*" + request.Num2 + "=" + result.Mul);

            return(result);
        }
Example #4
0
        public GetMsgSumReply GetSum(GetMsgNumRequest request)
        {
            var result = new GetMsgSumReply();

            result.Sum = request.Num1 + request.Num2;

            Console.WriteLine(request.Num1 + "+" + request.Num2 + "=" + result.Sum);

            return(result);
        }
Example #5
0
        public override Task <GetMsgSumReply> GetSum(GetMsgNumRequest request, ServerCallContext context)
        {
            var result = new GetMsgSumReply
            {
                Sum = request.Num1 + request.Num2
            };

            Console.WriteLine(request.Num1 + "+" + request.Num2 + "=" + result.Sum);

            return(Task.FromResult(result));
        }
Example #6
0
 private GetMsgSumReply sum(GetMsgNumRequest getMsgNumRequest)
 {
     return(null);
 }
Example #7
0
        static void fun1(string[] args)
        {
            string rpc_queue = "v1.EF.RPC.Sharing.IMsgServer.GetSum";
            var    factory   = new ConnectionFactory()
            {
                HostName = "localhost"
            };

            using (var connection = factory.CreateConnection())
            {
                using (var channel = connection.CreateModel())
                {
                    String correlationId = Guid.NewGuid().ToString();
                    // 创建一个临时队列, 返回队列的名字
                    String replyQueue = channel.QueueDeclare().QueueName;

                    IBasicProperties properties = channel.CreateBasicProperties();
                    properties.ReplyTo       = replyQueue;
                    properties.CorrelationId = correlationId;

                    string number = args.Length > 0 ? args[0] : "30";
                    var    body   = Encoding.UTF8.GetBytes(number);
                    //发布消息
                    //channel.BasicPublish(exchange: "", routingKey: "rpc_queue", basicProperties: properties, body: body);

                    Console.WriteLine($"[*] Request fib({number})");

                    // //创建消费者用于消息回调
                    var callbackConsumer = new EventingBasicConsumer(channel);
                    //绑定临时队列的消费
                    channel.BasicConsume(queue: replyQueue, autoAck: true, consumer: callbackConsumer);

                    callbackConsumer.Received += (model, ea) =>
                    {
                        if (ea.BasicProperties.CorrelationId == correlationId)
                        {
                            //var responseMsg = $"Get Response: {Encoding.UTF8.GetString(ea.Body.ToArray())}";

                            //Console.WriteLine($"[x]: {responseMsg}");
                        }
                    };
                    for (int i = 0; i < 10000; i++)
                    {
                        //Thread.Sleep(200);
                        SuperMsgMulti    superMsgMulti = new SuperMsgMulti();
                        GetMsgNumRequest msgNumRequest = new GetMsgNumRequest();
                        msgNumRequest.Num1 = i;
                        msgNumRequest.Num2 = 99;
                        superMsgMulti.setMsg(new object[] { msgNumRequest });
                        body = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(superMsgMulti));
                        //body = Encoding.UTF8.GetBytes($"{ "msg":[{ \"Num1\":1,\"Num2\":398}],\"req\":null,\"Id\":\"b48a9ab2-2813-4868-a432-0f87606c8db0\",\"CreationDate\":\"2021-03-04T18:51:48.8286043+08:00\"}");//ProtobufSerializer.SerializeBytes< GetMsgNumRequest>( msgNumRequest);// Encoding.UTF8.GetBytes(msgNumRequest.ToString());
                        //发布消息
                        //默认路由,发布的制定rpc_queue队列
                        //配置参数带上临时队列的名字
                        channel.BasicPublish(exchange: "", routingKey: rpc_queue, basicProperties: properties, body: body);
                        msgNumRequest.Num1 = i - 8;
                        msgNumRequest.Num2 = 9;
                        superMsgMulti.setMsg(new object[] { msgNumRequest });
                        body = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(superMsgMulti));
                        channel.BasicPublish(exchange: "", routingKey: rpc_queue, basicProperties: properties, body: body);
                    }
                    Console.ReadLine();
                }
            }
        }