消费者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. MongoDB的用户管理命令

    1.给TD数据库添加用户使用  use TD 然后执行 db.addUser("名称","密码"); 即可添加: 2.启用用户使用 db.auth(" ...

  2. Roadblocks--poj3255(次短路)

    题目链接 求次短路的问题: dist[i][0]和dist[i][1]表示从起点1到i的距离和从起点n到i的距离: 次短路要比最短路大但小于其他路: 每条路1--n的距离都可以用dist[i][0] ...

  3. 走进C++程序世界------IO标准库介绍

    流概述    流是C++标准的组成部分,流的主要目标是,将从磁盘读取文件或将输入写入控制台屏幕的问题封装起来,创建流后程序猿就能够使用它.流将负责处理全部的细节. IO类库 在C++输入、输出操作是通 ...

  4. 003-spring cloud gateway-概述、Route模型、网关初始化配置过程、基本原理

    一.概述 网关服务核心是将进入的请求正确合理的路由到下层具体的服务进行业务处理,由此可见网关服务的核心就是路由信息的构建. Spring Cloud Gateway旨在提供一种简单而有效的方式来路由到 ...

  5. 使用PHP创建一个REST API(译)

    最近API在网络领域有些风靡,明确的说是REST的影响力.这实在没什么好惊讶的,因为在任何编程语言中,消费REST API都是非常的容易.构建它也非常的简单,因为本质上你不会用到任何那些已存在很久的H ...

  6. abap开发中update module 的创建和使用

    一.update module 的创建和使用 最近遇到这样一个需求,需要先删除(delete)表中的数据,再将传递过来的新数据添加(modify)到表中. 但是如果下面modify的时候出现错误,使用 ...

  7. [kx]宇宙-银河

    行星/恒星/卫星的区分 目前太阳系内有8颗行星,分别是:水星.金星.地球.火星.木星.土星.天王星.海王星. 参考 恒星是自发光,而行星(行星通常指自身不发光,其公转方向常与所绕恒星的自转方向相同.) ...

  8. (转)Mybatis insert后返回主键给实体对象(Mysql数据库)

    <insert id="insert" parameterType="com.zqgame.game.website.models.Team"> & ...

  9. python3与mysql:创建表、插入数据54

    import pymysql db = pymysql.connect(host=',db='jodb1',port=3307,charset='utf8') # #测试连接开发库成功 # db = ...

  10. [LeetCode] 694. Number of Distinct Islands

    Given a non-empty 2D array grid of 0's and 1's, an island is a group of 1's (representing land) conn ...