基于NeqMq 4.0.0-rc5版本

发布端:
using (var publisher = new PublisherSocket())
{
publisher.Bind("tcp://*:5556");
var rng = new Random(); while (true)
{
Stopwatch sw = new Stopwatch();
sw.Start(); Console.WriteLine();
Console.WriteLine();
var list = GetList<Messages>(sql); var wards = list.GroupBy(s => s.所属病区).Select(s => s.Key).ToList(); foreach (var item in wards)
{
publisher.SendMoreFrame(item);//发送信封标识,用于消息过滤
var msg = string.Join(";", list.FindAll(s => s.所属病区 == item).Select(s => s.Message));
publisher.SendFrame(msg);
//Console.WriteLine($"{item}");
}
//int zipcode = rng.Next(0, 99999);
//int temperature = rng.Next(-80, 135);
//int relhumidity = rng.Next(0, 90);
//Console.WriteLine($"{zipcode} {temperature} {relhumidity}");
//publisher.SendMoreFrame("AAA");//发送信封标识,用于消息过滤
//publisher.SendFrame($"{zipcode} {temperature} {relhumidity}"); sw.Stop();
Console.WriteLine("用时:" + sw.ElapsedMilliseconds);
Thread.Sleep();
} }
订阅端:
using (var subscriber = new SubscriberSocket())
{
subscriber.Connect("tcp://172.16.131.222:5556");
//subscriber.Subscribe(zipToSubscribeTo.ToString(CultureInfo.InvariantCulture));
//订阅多个信封 执行多次Subscribe即可
//订阅全部消息 SubscribeToAnyTopic();方法 或 Subscribe("")内参数传空
subscriber.Subscribe(wards[r.Next(, wards.Count - )]);//订阅消息,根据消息信封过滤消息
//subscriber.Subscribe("11384");
//subscriber.SubscribeToAnyTopic();
subscriber.Subscribe(wards[r.Next(, wards.Count - )]);
subscriber.Subscribe(wards[r.Next(, wards.Count - )]); while (true)
{
//subscriber.SkipFrame();//跳过消息信封,只接收消息内容
string results = subscriber.ReceiveFrameString();
Console.WriteLine(results);
}
}

NetMq学习--发布订阅(一)的更多相关文章

  1. Redis学习-发布/订阅

    Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息.Redis 客户端可以订阅任意数量的频道. 常用命令 命令 描述 复杂度 返回 PSUBS ...

  2. 【Redis数据库】命令学习笔记——发布订阅、事务、脚本、连接等命令汇总

    本篇基于redis 4.0.11版本,学习发布订阅.事务.脚本.连接的相关命令. Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. 序号 ...

  3. NetMQ(三): 发布订阅模式 Publisher-Subscriber

    ZeroMQ系列 之NetMQ 一:zeromq简介 二:NetMQ 请求响应模式 Request-Reply 三:NetMQ 发布订阅模式 Publisher-Subscriber 四:NetMQ ...

  4. NetMQ发布订阅C#示例

    NetMQ (ZeroMQ to .Net),ØMQ号称史上最快中间件.它对socket通信进行了封装,使得我们不需要写socket函数调用就能完成复杂的网络通信.和一般意义上的消息队列产品不同的是, ...

  5. RabbitMQ学习总结 第四篇:发布/订阅 Publish/Subscribe

    目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...

  6. NetMQ 发布订阅模式 Publisher-Subscriber

    第一部分引用于:点击打开 1:简单介绍 PUB-SUB模式一般处理的都不是系统的关键数据.发布者不关注订阅者是否收到发布的消息,订阅者也不知道自己是否收到了发布者发出的所有消息.你也不知道订阅者何时开 ...

  7. MQTT的学习之Mosquitto发布-订阅(2)

    在<MQTT的学习之Mosquitto安装&使用(1)>一文末尾,我已经模拟了发布-订阅模式,只是那时在服务器直接模拟的,并不是java代码模拟的.下面贴出Java代码 1.首先引 ...

  8. Redis学习笔记8--Redis发布/订阅

    发布订阅(pub/sub)是一种消息通信模式,主要的目的是解耦消息发布者和消息订阅者之间的耦合,这点和设计模式中的观察者模式比较相似.pub /sub不仅仅解决发布者和订阅者直接代码级别耦合也解决两者 ...

  9. javascript设计模式学习之八_发布订阅(观察者)模式

    一.发布订阅模式定义 jQuery中的callbacks,defered,promise本质上就是发布订阅模式的实现.ES6的promise内部实现未开源,不了解具体机制 发布订阅模式又叫做观察者模式 ...

随机推荐

  1. UISegmentedControl 控件

    一.创建 UISegmentedControl* mySegmentedControl = [[UISegmentedControl alloc]initWithItems:nil]; 是不是很奇怪没 ...

  2. javascript中获取元素节点的文本

    <div id="test"> <strong>i'm strong</strong> </div> 1.elementNode.i ...

  3. SQLYog快捷键大全

    Ctrl+M   创建一个新的连接 Ctrl+N   使用当前设置新建连接 Ctrl+F4   断开当前连接 对象浏览器 F5   刷新对象浏览器(默认) Ctrl+B   设置焦点于对象浏览器 SQ ...

  4. Java Struts2 POI创建Excel文件并实现文件下载

    Java Struts2 POI创建Excel文件并实现文件下载2013-09-04 18:53 6059人阅读 评论(1) 收藏 举报 分类: Java EE(49) Struts(6) 版权声明: ...

  5. Step by Step 配置使用HTTPS的ASP.NET Web应用[转载]

    原创地址:http://www.cnblogs.com/jfzhu/p/4064654.html 转载请注明出处 有关HTTPS.SSL以及SSL证书的工作原理,参见 <HTTPS那些事(一)H ...

  6. 框架介绍thinkphp

    ThinkPHP是一个免费开源的,快速.简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的.ThinkPH ...

  7. Sublime Text 安装Emmet

    1.简单的安装方法 从菜单 View - Show Console 或者 ctrl + ~ 快捷键,调出 console.将以下 Python 代码粘贴进去并 enter 执行,不出意外即完成安装.以 ...

  8. java excle导出合计字段值

    效果图: 代码实现: 解释: // 四个参数分别是:起始行,起始列,结束行,结束列 sheet.addMergedRegion(new Region(0, (short) (celln + 1), 0 ...

  9. Struts2之提交对象数组至后台

    struts2中有许多很好的特性,比如在设置好getter和setter方法后,加上前端的匹配设置,后台即可自动将前端输入的数据转换为后台的相应的对象. 如现在传入一个Person类的对象,其中Per ...

  10. 纯css实现模块阴影变色效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...