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); }
public SocketDof(string ipAdress, int port, Bot bot) { _ipAdress = ipAdress; _port = port; bot.Socket = this; _messageProcessor = new MessageProcess(bot); }