Beispiel #1
0
        public void ReceiveMessage(string task_queue_name, MessageProcess messageProcess)
        {
            var connection = factory.CreateConnection();

            var channel = connection.CreateModel();
            var durable = true;

            channel.QueueDeclare(task_queue_name, durable, false, false, null);
            var consumer = new EventingBasicConsumer(channel);

            consumer.Received += (model, ea) =>
            {
                var body    = ea.Body;
                var message = Encoding.UTF8.GetString(body);
                Console.WriteLine("Message Received {0}", message);
                if (messageProcess(message))
                {
                    channel.BasicAck(deliveryTag: ea.DeliveryTag, multiple: false);
                }
                else
                {
                    channel.BasicNack(deliveryTag: ea.DeliveryTag, multiple: false, requeue: true);
                }
            };
            channel.BasicConsume(queue: task_queue_name, autoAck: false, consumer: consumer);
        }
Beispiel #2
0
 public SocketDof(string ipAdress, int port, Bot bot)
 {
     _ipAdress         = ipAdress;
     _port             = port;
     bot.Socket        = this;
     _messageProcessor = new MessageProcess(bot);
 }