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 ...
随机推荐
- word20161204
CA, certification authority / 证书颁发机构 cache / 高速缓存 cache file / 缓存文件 caching / 缓存 caching resolver / ...
- Button圆角处理
<?xml version="1.0" encoding="UTF-8"?> <selector xmlns:android="ht ...
- 35 网络相关函数(三)——live555源码阅读(四)网络
35 网络相关函数(三)——live555源码阅读(四)网络 35 网络相关函数(三)——live555源码阅读(四)网络 简介 5)NoReuse不重用地址类 6)initializeWinsock ...
- uploadify插件的功能应用
一.相关key值介绍 uploader:uploadify.swf文件的相对路径,该swf文件是一个带有文字BROWSE的按钮,点击后淡出打开文件对话框,默认值:uploadify.swf. scri ...
- 前端之css、JavaScript和DOM
css position 一般组合 relative+absolute,以relative为父元素,absolute依照relative进行定位. opcity: 0.5 透明度 z-index: 层 ...
- django 的文件上传
template html(模板文件): <form enctype="multipart/form-data" method="POST" action ...
- spring ext 跨域
read方法中调用的response对象是父类BaseController的一个成员变量. spring默认bean的生命周期Score为singleton单例模式. 当多线程并发使用同一bean, ...
- 【GoLang】GoLang 中 make 与 new的区别
make.new操作 make用于内建类型(map.slice 和channel)的内存分配.new用于各种类型的内存分配. 内建函数new本质上说跟其它语言中的同名函数功能一样:new(T)分配了零 ...
- NPOI教程
NPOI 是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目. NPOI 官方网站:http://npoi.codeplex.com/( ...
- 如何使用参数 appActivity+appPackage 和 app
本文针对RobotFrameWork中AppiumLibrary测试库. 首先,Open Application 这个方法不能向手机中安装应用,需要提前在手机中安装好,如使用 adb install ...