RabbitMQ驱动简单例子
using RabbitMQ.Client;
using RabbitMQ.Client.Events;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms; namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
string hostName = "192.168.1.61";
string userName = "test";
string passWord = "";
//信息是否持久化
bool durable = false; public Form1()
{
InitializeComponent();
//防止多线程报错
System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
textBox2.ReadOnly = true;
textBox2.ScrollBars = ScrollBars.Vertical;
var thrd = new Thread(GetMessage);
thrd.IsBackground = true;
thrd.Name = "DownLoad";
thrd.Start();
} private void button1_Click(object sender, EventArgs e)
{ var factory = new ConnectionFactory();
factory.HostName = hostName;
factory.UserName = userName;
factory.Password = passWord; //创建一个连接
using (var connection = factory.CreateConnection())
{
//创建一个通道
using (var channel = connection.CreateModel())
{
//创建一个队列
channel.QueueDeclare("hello", durable, false, false, null); //信息持久化
var properties = channel.CreateBasicProperties();
properties.Persistent = true; string message = textBox1.Text;
var body = Encoding.UTF8.GetBytes(message);
//发送数据
channel.BasicPublish(exchange: "", routingKey: "hello", basicProperties: null, body: body);
}
}
} private void button2_Click(object sender, EventArgs e)
{ } private void GetMessage()
{
var factory = new ConnectionFactory();
factory.HostName = hostName;
factory.UserName = userName;
factory.Password = passWord; //创建一个连接
using (var connection = factory.CreateConnection())
{
//创建一个通道
using (var channel = connection.CreateModel())
{
//创建一个队列
channel.QueueDeclare("hello", durable, false, false, null);
channel.BasicQos(, , false); var consumer = new QueueingBasicConsumer(channel);
channel.BasicConsume("hello", true, consumer); while (true)
{
//接收信息
var ea = (BasicDeliverEventArgs)consumer.Queue.Dequeue();
var body = ea.Body;
var message = Encoding.UTF8.GetString(body);
textBox2.Text += message + "\r\n"; } }
}
}
}
}
RabbitMQ驱动简单例子的更多相关文章
- MangoDB的C#Driver驱动简单例子
以下是本人学习C#Driver驱动简单的学习例子.GridFS的增删查操作 和 表的增删查改操作. public class MongoServerHelper { public static str ...
- 一个简单例子:贫血模型or领域模型
转:一个简单例子:贫血模型or领域模型 贫血模型 我们首先用贫血模型来实现.所谓贫血模型就是模型对象之间存在完整的关联(可能存在多余的关联),但是对象除了get和set方外外几乎就没有其它的方法,整个 ...
- NHibernate的简单例子
NHibernate的简单例子 @(编程) [TOC] 因为项目需求,搭了一个NHibernate的例子,中间遇到了一些问题,通过各种方法解决了,在这里记录一下最后的结果. 1. 需要的dll Com ...
- rabbitmq的简单介绍一
该博客的主要讲解了以下几种rabbitmq的用法1.实现简单的生产者发送消息给消费者2.实现序列持久化3.实现消息持久化4.实现消息公平分发5.实现广播6.实现组播7.实现细分组播 先来看下rabbi ...
- Hibernate4.2.4入门(一)——环境搭建和简单例子
一.前言 发下牢骚,这段时间要做项目,又要学框架,搞得都没时间写笔记,但是觉得这知识学过还是要记录下.进入主题了 1.1.Hibernate简介 什么是Hibernate?Hibernate有什么用? ...
- AgileEAS.NET SOA 中间件平台.Net Socket通信框架-简单例子-实现简单的服务端客户端消息应答
一.AgileEAS.NET SOA中间件Socket/Tcp框架介绍 在文章AgileEAS.NET SOA 中间件平台Socket/Tcp通信框架介绍一文之中我们对AgileEAS.NET SOA ...
- spring mvc(注解)上传文件的简单例子
spring mvc(注解)上传文件的简单例子,这有几个需要注意的地方1.form的enctype=”multipart/form-data” 这个是上传文件必须的2.applicationConte ...
- ko 简单例子
Knockout是在下面三个核心功能是建立起来的: 监控属性(Observables)和依赖跟踪(Dependency tracking) 声明式绑定(Declarative bindings) 模板 ...
- mysql定时任务简单例子
mysql定时任务简单例子 ? 1 2 3 4 5 6 7 8 9 如果要每30秒执行以下语句: [sql] update userinfo set endtime = now() WHE ...
随机推荐
- SQLMAP脱裤
之前就有一个朋友问,咋使用sqlmap脱裤.然后我丢了一个参数给他,他好像懵逼懵逼的.今天又有一个哥们儿在群里问,行吧.就直接教一下. 其实很简单. --dump这个参数就是用来脱裤的哟.如果你要拖整 ...
- 快速排序(Quicksort)
快速排序:是对冒泡排序的一种改进. 什么是冒泡排序:简单一点就是冒气泡.极值数据会到达数据的顶端. 实现步骤:建立一个数据排列标准,从大到小还是从小到大. [从大到小排列]:从第一个数据开始遍历,比较 ...
- ja
import java.util.*; class animal{ void cry(){ } void get_animal_name(){ ...
- Github GUI 托管代码教程
附录:克隆仓库到本地:git clone https://github.com/chzeze/WeiboHomeCrawl.git
- HIFI播放器--磨机吐槽篇
最近看到淘宝店提供各种随身播放器磨机服务,说的是天花乱坠,给你更换零件, 甚至更改电路,搭载上去,是如何如何的好,整个播放器就上升了几个等次,收费还 不低,至少是好几百,我实在是忍不住吐槽了,你们这些 ...
- 深入理解学习Git工作流
http://blog.csdn.net/hongchangfirst/article/list/3 //可以看看 http://blog.csdn.net/hongchangfirst/articl ...
- Linux之图形化shell------dialog
转自:Linux dialog详解(图形化shell) | 运维生存时间 对话 UNIX: 使用 shell 脚本创建好的图形应用程序---http://www.ibm.com/developerwo ...
- Linux历史
1.Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX标准和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议.它支 ...
- SolrCloud的官方配置方式
前面写过生产过程中的SolrCloud集群配置,实际上官方给出的是免安装配置,启动时采用命令行参数的方式启动,这样相对简单,并且官方文档也给出了外部Zookeeper的配置,和前面说的基本一致,这个不 ...
- 15. javacript高级程序设计-Canvas绘图
1. Canvas绘图 HTML5的<canvas>元素提供了一组JavaScript API,让我们可以动态的创建图形和图像.图形是在一个特定的上下文中创建的,而上下文对象目前有两种. ...