博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RabbitMQ 教程(三)远程数据交互
阅读量:5914 次
发布时间:2019-06-19

本文共 2218 字,大约阅读时间需要 7 分钟。

回顾前面,我们进行了RabbitMQ的环境搭建,配置,还有本地代码的简单交互。现在我们来进行远程数据交互,就是说,我们的RabbitMQ.Server和RabbitMQ.Client可以不在同一个服务器,也能进行数据传输。

一、远程账号配置(参考 admin配置)

配置的账号密码,就是用于我们远程服务访问。

 

二、RabbitMQ.Server 写入代码

static void Main(string[] args){    for (int i = 0; i < 50; i++)    {        Task.Run(async () =>        {            await CreateProdcut();        });    }    Console.ReadLine(); }private static ConnectionFactory factory = new ConnectionFactory() { HostName = "116.28.8.166", UserName = "admin", Password = "********", VirtualHost = "/" };private static Task CreateProdcut(){    return Task.Factory.StartNew(() =>    {         using (var connection = factory.CreateConnection())         {             using (var channel = connection.CreateModel())             {
string guid = Guid.NewGuid().ToString(); var body = Encoding.UTF8.GetBytes(Guid.NewGuid().ToString()); channel.QueueDeclare("AllenLeeQueue", false, false, false, null); channel.BasicPublish("", "AllenLeeQueue", null, body); Console.WriteLine("[Set Msg To AllenLeeQueue] " + guid); } } });}

 

三、RabbitMQ.Client 写入代码

private static ConnectionFactory factory = new ConnectionFactory() { HostName = "116.28.8.166", UserName = "admin", Password = "********", VirtualHost = "/" };static void Main(string[] args){    factory.AutomaticRecoveryEnabled = true;//设置端口后自动恢复连接属性即可    using (var connection = factory.CreateConnection())    {        using (var channel = connection.CreateModel())        {            var consumer = new EventingBasicConsumer(channel);            consumer.Received += (model, ea) =>            {                var body = ea.Body;                var message = Encoding.UTF8.GetString(body);                Console.WriteLine(" [Get Msg from AllenLeeQueue] {0}", message);            };            channel.BasicConsume(queue: "AllenLeeQueue", noAck: true, consumer: consumer);            Console.ReadLine();        }    }}

四、运行RabbitMQ.Server和RabbitMQ.Client

 

我们可以看到,我们远程进行了调用,RabbitMQ.Server发送出来的数据,可以在RabbitMQ.Client进行接收,至此我们的远程访问已经成功。这样后续我们就可以在任意的地方,通过RabbitMQ对服务器的数据进行访问获取,

这为我拉后续的并发打下基础。后续我们就会深入到大数据并发的场景,一步步慢慢由浅入深。

 

转载于:https://www.cnblogs.com/AllenLee/p/7576193.html

你可能感兴趣的文章
linux下以RPM包安装Oracle 客户端
查看>>
28. PowerShell -- 注册表操作
查看>>
搭建 android sdk环境
查看>>
LINUX常用的查看命令
查看>>
第14章 grep、sed、awk 正则表达式
查看>>
ant_Jmeter持续集成测试报告优化之添加throughput显示
查看>>
一个=号引发的错误.......
查看>>
CPU显卡内存与3DMAX渲染的关系
查看>>
【Java】方法重载于覆写的区别;This与Super的区别;Final关键字的作用
查看>>
10.2生成器
查看>>
VS2010编辑界面主题美化
查看>>
Linux 常用命令之touch
查看>>
RestTemplate设置通用header
查看>>
TRex 学习(2) ---- stateful (basic)
查看>>
[高并发Java 二] 多线程基础
查看>>
PHP源码目录结构
查看>>
Linux桌面虚拟化技术KVM介绍及其安装
查看>>
硬盘主引导记录详解
查看>>
用户与用户组管理
查看>>
CentOS 6.8 手工安装 Firefox
查看>>