消费者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"
"","2017-08-22 10:13:19.649167","10.40.3.65","10.51.0.204","AMQP","","Connection.Start "
"","2017-08-22 10:13:19.672524","10.51.0.204","10.40.3.65","AMQP","","Connection.Start-Ok "
"","2017-08-22 10:13:19.679205","10.40.3.65","10.51.0.204","AMQP","","Connection.Tune "
"","2017-08-22 10:13:19.681379","10.51.0.204","10.40.3.65","AMQP","","Connection.Tune-Ok "
"","2017-08-22 10:13:19.682598","10.51.0.204","10.40.3.65","AMQP","","Connection.Open vhost=rongzi_dev "
"","2017-08-22 10:13:19.688692","10.40.3.65","10.51.0.204","AMQP","","Connection.Open-Ok "
"","2017-08-22 10:13:19.694663","10.51.0.204","10.40.3.65","AMQP","","Channel.Open "
"","2017-08-22 10:13:19.697618","10.40.3.65","10.51.0.204","AMQP","","Channel.Open-Ok "
"","2017-08-22 10:13:19.699423","10.51.0.204","10.40.3.65","AMQP","","Exchange.Declare x=fanoutExchange1 "
"","2017-08-22 10:13:19.702360","10.40.3.65","10.51.0.204","AMQP","","Exchange.Declare-Ok "
"","2017-08-22 10:13:19.704335","10.51.0.204","10.40.3.65","AMQP","","Queue.Declare q=writeLogQueue "
"","2017-08-22 10:13:19.709073","10.40.3.65","10.51.0.204","AMQP","","Queue.Declare-Ok q=writeLogQueue "
"","2017-08-22 10:13:19.711838","10.51.0.204","10.40.3.65","AMQP","","Queue.Bind q=writeLogQueue x=fanoutExchange1 bk=writeLogKey "
"","2017-08-22 10:13:19.714497","10.40.3.65","10.51.0.204","AMQP","","Queue.Bind-Ok "
"","2017-08-22 10:13:19.716549","10.51.0.204","10.40.3.65","AMQP","","Basic.Consume q=writeLogQueue "
"","2017-08-22 10:13:19.722084","10.40.3.65","10.51.0.204","AMQP","","Basic.Consume-Ok "
"","2017-08-22 10:13:19.884511","10.51.0.204","10.40.3.65","AMQP","","Heartbeat "
"","2017-08-22 10:13:34.883534","10.51.0.204","10.40.3.65","AMQP","","Heartbeat "
"","2017-08-22 10:13:49.891534","10.51.0.204","10.40.3.65","AMQP","","Heartbeat "
"","2017-08-22 10:14:04.899543","10.51.0.204","10.40.3.65","AMQP","","Heartbeat "
"","2017-08-22 10:14:19.687198","10.40.3.65","10.51.0.204","AMQP","","Heartbeat "
"","2017-08-22 10:14:19.904023","10.51.0.204","10.40.3.65","AMQP","","Heartbeat "
"","2017-08-22 10:14:34.912579","10.51.0.204","10.40.3.65","AMQP","","Heartbeat "
"","2017-08-22 10:14:49.922623","10.51.0.204","10.40.3.65","AMQP","","Heartbeat "
"","2017-08-22 10:15:04.930537","10.51.0.204","10.40.3.65","AMQP","","Heartbeat "
"","2017-08-22 10:15:19.686306","10.40.3.65","10.51.0.204","AMQP","","Heartbeat "
"","2017-08-22 10:15:19.932026","10.51.0.204","10.40.3.65","AMQP","","Heartbeat "
"","2017-08-22 10:15:34.941526","10.51.0.204","10.40.3.65","AMQP","","Heartbeat "
"","2017-08-22 10:15:49.950055","10.51.0.204","10.40.3.65","AMQP","","Heartbeat "
"","2017-08-22 10:16:04.958528","10.51.0.204","10.40.3.65","AMQP","","Heartbeat "
"","2017-08-22 10:16:19.688245","10.40.3.65","10.51.0.204","AMQP","","Heartbeat "
"","2017-08-22 10:16:19.960069","10.51.0.204","10.40.3.65","AMQP","","Heartbeat "
"","2017-08-22 10:16:34.968529","10.51.0.204","10.40.3.65","AMQP","","Heartbeat "
"","2017-08-22 10:16:49.977085","10.51.0.204","10.40.3.65","AMQP","","Heartbeat "

生产者Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using RabbitMQ.Client;
using RabbitMQ.Client.Events;
using System.IO;
using Newtonsoft.Json;
using System.ComponentModel;
using System.Text.RegularExpressions; namespace ConsoleDemo
{
class Program
{
static void Main(string[] args)
{
new Thread(Provider.Write).Start();
Console.ReadLine();
}
} public class Provider
{
public static void Write()
{
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" }; //var factory = new ConnectionFactory() { HostName = "10.51.0.204", UserName = "qhong", Password = "hongdada",VirtualHost="rongzi_qa" };
using (var connection = factory.CreateConnection())
using (var channel = connection.CreateModel())
{
////设置交换器的类型
//channel.ExchangeDeclare(exchangeName, exchangeType);
////声明一个队列,设置队列是否持久化,排他性,与自动删除
//channel.QueueDeclare(qName, true, false, false, null);
////绑定消息队列,交换器,routingkey
//channel.QueueBind(qName, exchangeName, routingKey); channel.ExchangeDeclare(exchangeName, exchangeType); channel.QueueDeclare(queue:qName, durable: false, exclusive: false, autoDelete: false, arguments: null);
channel.QueueBind(qName, exchangeName, routingKey);
for (int i = ; i < ; i++)
{
string message = i.ToString();
var body = Encoding.UTF8.GetBytes(message); channel.BasicPublish(exchange:exchangeName, routingKey:routingKey, basicProperties: null, body: body);
Console.WriteLine("Program Sent {0}", message);
}
}
}
}
}

抓包,太长就不截图了

"","2017-08-22 10:33:20.584321","10.51.0.204","10.40.3.65","AMQP","","Heartbeat "
"","2017-08-22 10:33:35.585035","10.51.0.204","10.40.3.65","AMQP","","Heartbeat "
"","2017-08-22 10:33:45.475110","10.40.3.65","10.51.0.204","AMQP","","Connection.Start "
"","2017-08-22 10:33:45.492512","10.51.0.204","10.40.3.65","AMQP","","Connection.Start-Ok "
"","2017-08-22 10:33:45.495352","10.40.3.65","10.51.0.204","AMQP","","Connection.Tune "
"","2017-08-22 10:33:45.497523","10.51.0.204","10.40.3.65","AMQP","","Connection.Tune-Ok "
"","2017-08-22 10:33:45.498767","10.51.0.204","10.40.3.65","AMQP","","Connection.Open vhost=rongzi_dev "
"","2017-08-22 10:33:45.504320","10.40.3.65","10.51.0.204","AMQP","","Connection.Open-Ok "
"","2017-08-22 10:33:45.507044","10.51.0.204","10.40.3.65","AMQP","","Channel.Open "
"","2017-08-22 10:33:45.510357","10.40.3.65","10.51.0.204","AMQP","","Channel.Open-Ok "
"","2017-08-22 10:33:45.511938","10.51.0.204","10.40.3.65","AMQP","","Exchange.Declare x=fanoutExchange1 "
"","2017-08-22 10:33:45.515660","10.40.3.65","10.51.0.204","AMQP","","Exchange.Declare-Ok "
"","2017-08-22 10:33:45.517792","10.51.0.204","10.40.3.65","AMQP","","Queue.Declare q=writeLogQueue "
"","2017-08-22 10:33:45.521655","10.40.3.65","10.51.0.204","AMQP","","Queue.Declare-Ok q=writeLogQueue "
"","2017-08-22 10:33:45.523771","10.51.0.204","10.40.3.65","AMQP","","Queue.Bind q=writeLogQueue x=fanoutExchange1 bk=writeLogKey "
"","2017-08-22 10:33:45.527364","10.40.3.65","10.51.0.204","AMQP","","Queue.Bind-Ok "
"","2017-08-22 10:33:45.533525","10.51.0.204","10.40.3.65","AMQP","","Basic.Publish x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.534040","10.51.0.204","10.40.3.65","AMQP","","Basic.Publish x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.534170","10.51.0.204","10.40.3.65","AMQP","","Basic.Publish x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.534290","10.51.0.204","10.40.3.65","AMQP","","Basic.Publish x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.534612","10.51.0.204","10.40.3.65","AMQP","","Basic.Publish x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.535047","10.51.0.204","10.40.3.65","AMQP","","Basic.Publish x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.535142","10.51.0.204","10.40.3.65","AMQP","","Basic.Publish x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.535206","10.51.0.204","10.40.3.65","AMQP","","Basic.Publish x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.535266","10.51.0.204","10.40.3.65","AMQP","","Basic.Publish x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.535318","10.51.0.204","10.40.3.65","AMQP","","Basic.Publish x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.535373","10.51.0.204","10.40.3.65","AMQP","","Basic.Publish x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.535440","10.51.0.204","10.40.3.65","AMQP","","Basic.Publish x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.535492","10.51.0.204","10.40.3.65","AMQP","","Basic.Publish x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.535545","10.51.0.204","10.40.3.65","AMQP","","Basic.Publish x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.535601","10.51.0.204","10.40.3.65","AMQP","","Basic.Publish x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.535652","10.51.0.204","10.40.3.65","AMQP","","Basic.Publish x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.535723","10.51.0.204","10.40.3.65","AMQP","","Basic.Publish x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.535780","10.51.0.204","10.40.3.65","AMQP","","Basic.Publish x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.535840","10.51.0.204","10.40.3.65","AMQP","","Basic.Publish x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.535891","10.51.0.204","10.40.3.65","AMQP","","Basic.Publish x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.537191","10.51.0.204","10.40.3.65","AMQP","","Channel.Close reply=Goodbye "
"","2017-08-22 10:33:45.538158","10.40.3.65","10.51.0.204","AMQP","","Basic.Deliver x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body Basic.Deliver x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body Basic.Deliver x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body Basic.Deliver x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.539595","10.40.3.65","10.51.0.204","AMQP","","Basic.Deliver x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body Basic.Deliver x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body Basic.Deliver x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.539597","10.40.3.65","10.51.0.204","AMQP","","Basic.Deliver x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body Basic.Deliver x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body Basic.Deliver x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.539597","10.40.3.65","10.51.0.204","AMQP","","Basic.Deliver x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body Basic.Deliver x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body Basic.Deliver x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.539598","10.40.3.65","10.51.0.204","AMQP","","Basic.Deliver x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body Basic.Deliver x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.539598","10.40.3.65","10.51.0.204","AMQP","","Basic.Deliver x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body Basic.Deliver x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body Basic.Deliver x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body Basic.Deliver x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.539599","10.40.3.65","10.51.0.204","AMQP","","Basic.Deliver x=fanoutExchange1 rk=writeLogKey Content-Header Content-Body "
"","2017-08-22 10:33:45.543441","10.40.3.65","10.51.0.204","AMQP","","Channel.Close-Ok "
"","2017-08-22 10:33:45.547820","10.51.0.204","10.40.3.65","AMQP","","Connection.Close reply=Connection close forced "
"","2017-08-22 10:33:45.551016","10.40.3.65","10.51.0.204","AMQP","","Connection.Close-Ok "
"","2017-08-22 10:33:50.587474","10.51.0.204","10.40.3.65","AMQP","","Heartbeat "
"","2017-08-22 10:34:05.596326","10.51.0.204","10.40.3.65","AMQP","","Heartbeat "

通过info可以很清晰的看出rabbitmq的进程!

可以看出,发布者发布了20条信息,请求了20次

但是消费者在消费的时候,并不是二十次,而是七次,可以看出Basic.Deliver在一次AMQP中最多被调用了4次,可见一次消费可以消费多条message。

Wireshark分析RabbitMQ的更多相关文章

  1. Wireshark分析非标准端口号流量

    Wireshark分析非标准端口号流量 2.2.2  分析非标准端口号流量Wireshark分析非标准端口号流量 应用程序运行使用非标准端口号总是网络分析专家最关注的.关注该应用程序是否有意涉及使用非 ...

  2. wireshark分析dhcp过程

    ---恢复内容开始--- DHCP DHCP(Dynamic Host Configuration Protocol)是一个用于主机动态获取IP地址的配置解 析,使用UDP报文传送,端口号为67何68 ...

  3. Linux使用tcpdump命令抓包并使用wireshark分析

    Linux使用tcpdump命令抓包并使用wireshark分析 介绍 有时分析客户端和服务器网络交互的问题时,为了查找问题,需要分别在客户端和服务器上抓包,我们的客户端一般是windows上的,抓包 ...

  4. Android 抓包并通过 Wireshark 分析

    分析 Android 中 app 的网络数据交互,需要在 Android 上抓包,常用工具为 tcpdump ,用 tcpdump 生成 Wireshark 识别的 pcap 文件,把 pcap 文件 ...

  5. Android利用tcpdump抓包,用wireshark分析包。

    1.前言 主要介绍在android手机上如何利用tcpdump抓包,用wireshark分析包. android tcpdump官网: http://www.androidtcpdump.com/ t ...

  6. wireshark分析https数据包解密前后的特点

    wireshark分析https数据包解密前后的特点 (一)https解密前 1.协议种类:2种(1)TCP(第四层,传输层)(2)SSL/TLS(第五层,应用层,加解密)2.应用层数据所在数据包特点 ...

  7. MAC帧的格式&&wireshark分析MAC帧

    MAC帧的格式 MAC帧较为简单,由五个字段组成 目的地址:6字节 源地址:6字节 类型字段:2字节,用来标志上一层使用的是什么协议,以便把收到的MAC地址帧的数据交给上一层的这个协议. 数据字段:其 ...

  8. [转]使用wireshark分析TCP/IP协议中TCP包头的格式

    本文简单介绍了TCP面向连接理论知识,详细讲述了TCP报文各个字段含义,并从Wireshark俘获分组中选取TCP连接建立相关报文段进行分析. 一.概述 TCP是面向连接的可靠传输协议,两个进程互发数 ...

  9. python - bilibili(三)wireshark分析

    当我们开始打开浏览器,并进入B站直播网页前,我们打开wireshark软件(软件的下载与安装请百度一下)开始截取当前数据. 然后输入直播间网址,enter进入就可以停止截取数据了,然后我们分析所截取的 ...

随机推荐

  1. mysql数据库的相关练习题及答案

    表结构示意图: 表结构创建语句: class表创建语句 create table ) not null)engine=innodb default charset=utf8; student表创建语句 ...

  2. IDA的头像

    Ada Lovelace,世界第一位女programmer,为Charles Babbage 做了不少工作,IDA 用她的头像作为图标是为了纪念这位女程序员.Wikipedia上有一幅她的很漂亮的画像 ...

  3. 问题:bower git is not installed or not in the path

    用bower install jquery安装jquery,bower提示错误bower git is not installed or not in the path. 根据错误信息的知道出现错误两 ...

  4. mac版 android studio问题解决

    1.mac安装android studio 解决方案:如果你是安装新手,可以下载androud studio boundls 和 安装环境的jdk就可以了,不需要单独在配置环境了,如果你有经验,可以单 ...

  5. iOS 开发笔记-UILable/UIFont/UIButton常见设置

    UILabel的常见设置 @property(nonatomic,copy) NSString *text; 显示的文字 @property(nonatomic,retain) UIFont *fon ...

  6. 11.2.0.4 RAC测试环境修改时区

    当前问题: 系统时区修改后,集群数据库各个日志发现显示的还是之前时区的时间. 依据Linux (RHEL)修改时区更改了系统的时区后,集群数据库的各个日志还是显示之前的时区时间. 查找MOS资料 Ho ...

  7. 浅谈Java中的初始化和清理

    引言 这篇文章我们主要介绍Java初始化和清理的相关内容,这些内容虽然比较基础,但是还是在这边做一个简单的总结,方便以后查阅. 初始化过程 Java尽力保证:所有变量在使用之前都会得到恰当的初始化(对 ...

  8. sql server 视图的操作

    -- 判断要创建的视图名是否存在if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[视图名]') and OBJ ...

  9. Java中如何优雅地删除List中的元素

    在工作中的许多场景下,我们都会使用到List这个数据结构,那么同样的有很多场景下需要删除List中的某一个元素或某几个元素,那么我们该如何正确无误地删除List中的元素的,今天我来教大家三种方式. 前 ...

  10. Root :: AOAPC I: Beginning Algorithm Contests (Rujia Liu) Volume 7. Graph Algorithms and Implementation Techniques

    uva 10803 计算从任何一个点到图中的另一个点经历的途中必须每隔10千米 都必须有一个点然后就这样 floy 及解决了 ************************************* ...