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 ...
随机推荐
- Sqli-LABS通关笔录-18-审计SQL注入2-HTTP头注入
在此关卡我学习到了 1.只要跟数据库交互的多观察几遍.特别是对于http头这种类型的注入方式. 2. <?php //including the Mysql connect parameter ...
- Linux 文件rwx权限问题 chmod 777 XXX 任何人拥有最高权限
在Unix和Linux的各种操作系统下,每个文件(文件夹也被看作是文件)都按读.写.运行设定权限.ls -l:得到-rw-r--r-- 1 apple users 2254 2006-05-20 13 ...
- 有关在线OJ网络AC爬虫
搜索源码 爬取代码 自动登录 在线提交 判断AC
- 【GoLang】深入理解slice len cap什么算法? 参数传递有啥蹊跷?
先上结论 .内置append函数在现有数组的长度 < 时 cap 增长是翻倍的,再往上的增长率则是 1.25,至于为何后面会说. .Go语言中channel,slice,map这三种类型的实现机 ...
- C# 数组、多维数组(矩形数组)、锯齿数组(交叉数组)
数组是变量的索引列表,可以在方括号中指定索引来访问数组中的各个成员,其中索引是一个整数,从0开始. 一维数组 多维数组(矩形数组) 数组的数组(锯齿数组) 数组必须在访问之前初始化,数组的初始化有两种 ...
- Oracle11g +Win 64+PLSQL9.0
最近在Oracle11g配置数据库的时候发现了一个问题,就是找不到监听,网上说win7的64位的系统必须装上32位的客户端才能被PLSQL 识别,事实上也是这样,PLSQL 只能识别32位的客户端,所 ...
- HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth之完全详解
HTML:scrollLeft,scrollWidth,clientWidth,offsetWidth到底指的哪到哪的距离之完全详解 scrollHeight: 获取对象的滚动高度. scrollLe ...
- ios8 新增的 showViewController 和 showDetailViewController
1.showViewController 先看看说明: You use this method to decouple the need to display a view controller fr ...
- Nginx反向代理到Tomcat服务器
在实际生产中,Tomcat服务器一般不单独使用在项目中,对于静态资源的响应Nginx表现的比较好,另外由于nginx是专门用于反向代理的服务器,所以很容易实现将java的请求转发到后端交给tomcat ...
- ABAP 内表的行列转换-NEW
REPORT Z_TEST_COL_TO_ROW. TYPE-POOLS: slis. TABLES: mseg,mkpf. DATA: gd_fieldcat TYPE slis_t_fieldca ...