Esempio n. 1
0
        public static RabbitMqUtil NewMqClient(int number)
        {
            RabbitMqUtil rabbit = new RabbitMqUtil();
            var          conn   = rabbit.CreateConnection(new ConnectionFactory
            {
                HostName    = "192.168.1.11",
                Port        = 5676,
                UserName    = "******",
                Password    = "******",
                VirtualHost = "/",
                //Protocol = Protocols.DefaultProtocol,
                AmqpUriSslProtocols      = SslProtocols.Tls,
                AutomaticRecoveryEnabled = true,                                 //自动重连
                RequestedFrameMax        = UInt32.MaxValue,
                RequestedHeartbeat       = TimeSpan.FromSeconds(UInt16.MaxValue) //心跳超时时间
            });
            string queue = $"queue{number}";
            IModel model = rabbit.CreateModel(conn);

            model.DeclareQueue(queue, "ChatExchange", "", false, false, true);
            model.AddConsumer(queue, RcvMsg);
            System.Threading.Tasks.Task.Factory.StartNew(async() =>
            {
                for (int i = 0; i < 500; i++)
                {
                    byte[] bs = Encoding.UTF8.GetBytes($"我是{queue},第{i}次");
                    await System.Threading.Tasks.Task.Delay(3000);
                    model.BasicPublish("ChatExchange", "", false, null, bs);
                }
            });
            return(rabbit);
        }
        public IConnection GetConnection()
        {
            IConnection curConn = null;

            if (connections.Count < LastIndex + 1 || connections[LastIndex] == null)
            {
                RabbitMqUtil mqUtil     = new RabbitMqUtil();
                IConnection  connection = mqUtil.CreateConnection(Factory);
                connections.Add(connection);
                curConn = connection;
            }
            else
            {
                curConn = connections[LastIndex];
            }
            var channel  = curConn.CreateModel();
            var instance = channel.CreateBasicPublishBatch();

            return(curConn);
        }
 private void windowsLoaded(object sender, RoutedEventArgs e)
 {
     mqClient = new RabbitMqUtil("guest", "guest", "TestExchange", "TestQueue1", "routingkey1", false, ExchangeType.Topic, false, "192.168.194.128", 5673);
     mqClient.InitMqCreateExchangeQueue(ReturnHandler, ReceiveHandler, true, false);
 }
Esempio n. 4
0
 public UnitTest1()
 {
     sendMq = new RabbitMqUtil("guest", "guest", "TestExchange", "TestQueue1", "routingkey1", false, ExchangeType.Topic, false, "192.168.194.128", 5673);
     sendMq.InitMqCreateExchangeQueue(ReturnHandler, ReceiveHandler);
     rcvMq = new RabbitMqUtil("guest", "guest", "TestExchange", "TestQueue", "rkey1", false, ExchangeType.Topic, false, "192.168.194.128", 5675);
 }