消费者Code:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using RabbitMQ.Client; using RabbitMQ.Client.Events; using System.IO; using System.Threading; namespace Consumer { class Program { static void Main(string[] args) { new Thread(Consumer.Read).Start(); Console.ReadLine(); } public class Consumer { public static void Read() { var qName = "writeLogQueue"; var exchangeName = "fanoutExchange1"; var exchangeType = "fanout";//topic、fanout var routingKey = "writeLogKey"; var factory = new ConnectionFactory() { HostName = "10.40.3.65", UserName = "qhong", Password = "hongdada", VirtualHost = "rongzi_dev" }; using (var connection = factory.CreateConnection()) using (var channel = connection.CreateModel()) { channel.ExchangeDeclare(exchangeName, exchangeType); channel.QueueDeclare(qName, false, false, false, null); channel.QueueBind(qName, exchangeName, routingKey); var consumer = new EventingBasicConsumer(channel); consumer.Received += (model, ea) => { var body = ea.Body; var message = Encoding.UTF8.GetString(body); ExcuateWriteFile(message); Console.WriteLine(" Receiver Received {0}", message); }; channel.BasicConsume(queue: qName, noAck: true, consumer: consumer); Console.WriteLine(" Press [enter] to exit."); Console.ReadLine(); } } public static void ExcuateWriteFile(string i) { //using (FileStream fs = new FileStream(@"d:\\test.txt", FileMode.Append)) //{ // using (StreamWriter sw = new StreamWriter(fs, Encoding.Unicode)) // { // sw.WriteLine(i); // } //} Console.WriteLine(i); } } } }
查看Wireshark抓包:
"No.","Time","Source","Destination","Protocol","Length","Info" "410","2017-08-22 10:13:19.649167","10.40.3.65","10.51.0.204","AMQP","544","Connection.Start " "411","2017-08-22 10:13:19.672524","10.51.0.204","10.40.3.65","AMQP","466","Connection.Start-Ok " "412","2017-08-22 10:13:19.679205","10.40.3.65","10.51.0.204","AMQP","74","Connection.Tune " "413","2017-08-22 10:13:19.681379","10.51.0.204","10.40.3.65","AMQP","74","Connection.Tune-Ok " "414","2017-08-22 10:13:19.682598","10.51.0.204","10.40.3.65","AMQP","79","Connection.Open vhost=rongzi_dev " "416","2017-08-22 10:13:19.688692","10.40.3.65","10.51.0.204","AMQP","67","Connection.Open-Ok " "417","2017-08-22 10:13:19.694663","10.51.0.204","10.40.3.65","AMQP","67","Channel.Open " "418","2017-08-22 10:13:19.697618","10.40.3.65","10.51.0.204","AMQP","70","Channel.Open-Ok " "419","2017-08-22 10:13:19.699423","10.51.0.204","10.40.3.65","AMQP","96","Exchange.Declare x=fanoutExchange1 " "420","2017-08-22 10:13:19.702360","10.40.3.65","10.51.0.204","AMQP","66","Exchange.Declare-Ok " "421","2017-08-22 10:13:19.704335","10.51.0.204","10.40.3.65","AMQP","87","Queue.Declare q=writeLogQueue " "422","2017-08-22 10:13:19.709073","10.40.3.65","10.51.0.204","AMQP","88","Queue.Declare-Ok q=writeLogQueue " "423","2017-08-22 10:13:19.711838","10.51.0.204","10.40.3.65","AMQP","115","Queue.Bind q=writeLogQueue x=fanoutExchange1 bk=writeLogKey " "424","2017-08-22 10:13:19.714497","10.40.3.65","10.51.0.204","AMQP","66","Queue.Bind-Ok " "425","2017-08-22 10:13:19.716549","10.51.0.204","10.40.3.65","AMQP","88","Basic.Consume q=writeLogQueue " "426","2017-08-22 10:13:19.722084","10.40.3.65","10.51.0.204","AMQP","98","Basic.Consume-Ok " "429","2017-08-22 10:13:19.884511","10.51.0.204","10.40.3.65","AMQP","62","Heartbeat " "670","2017-08-22 10:13:34.883534","10.51.0.204","10.40.3.65","AMQP","62","Heartbeat " "990","2017-08-22 10:13:49.891534","10.51.0.204","10.40.3.65","AMQP","62","Heartbeat " "1209","2017-08-22 10:14:04.899543","10.51.0.204","10.40.3.65","AMQP","62","Heartbeat " "1419","2017-08-22 10:14:19.687198","10.40.3.65","10.51.0.204","AMQP","62","Heartbeat " "1422","2017-08-22 10:14:19.904023","10.51.0.204","10.40.3.65","AMQP","62","Heartbeat " "1676","2017-08-22 10:14:34.912579","10.51.0.204","10.40.3.65","AMQP","62","Heartbeat " "1947","2017-08-22 10:14:49.922623","10.51.0.204","10.40.3.65","AMQP","62","Heartbeat " "2136","2017-08-22 10:15:04.930537","10.51.0.204","10.40.3.65","AMQP","62","Heartbeat " "2481","2017-08-22 10:15:19.686306","10.40.3.65","10.51.0.204","AMQP","62","Heartbeat " "2483","2017-08-22 10:15:19.932026","10.51.0.204","10.40.3.65","AMQP","62","Heartbeat " "2832","2017-08-22 10:15:34.941526","10.51.0.204","10.40.3.65","AMQP","62","Heartbeat " "3054","2017-08-22 10:15:49.950055","10.51.0.204","10.40.3.65","AMQP","62","Heartbeat " "3418","2017-08-22 10:16:04.958528","10.51.0.204","10.40.3.65","AMQP","62","Heartbeat " "3850","2017-08-22 10:16:19.688245","10.40.3.65","10.51.0.204","AMQP","62","Heartbeat " "3859","2017-08-22 10:16:19.960069","10.51.0.204","10.40.3.65","AMQP","62","Heartbeat " "4050","2017-08-22 10:16:34.968529","10.51.0.204","10.40.3.65","AMQP","62","Heartbeat " "4736","2017-08-22 10:16:49.977085","10.51.0.204","10.40.3.65","AMQP","62","Heartbeat "