Message Queuing(MSMQ)学习之旅(一)——基本概念

1.MSMQ是什么?

Message Queue(微软消息队列)是在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分布于相连的网络空间中的任一位置。它的实现原理是:消息的发送者把自己想要发送的信息放入一个容器中(我们称之为Message),然后把它保存至一个系统公用空间的消息队列(Message Queue)中;本地或者是异地的消息接收程序再从该队列中取出发给它的消息进行处理。
(来源:百度百科)

2.MSMQ的好处

比起TCP/IP通讯,我觉得MSMQ的好处在能支持两个应用程序之间的离线通讯,接收方和发送方不需要同时运行,发送方可以先把消息发出来,过一段时间,接收方也能接收得到消息。

3.环境的配置

a.在Services里面启动Message Queuing服务。
b.打开Start->Administrative Tools->Computer Management.在Services and Applications下面的Message Queuing里面能够看到程序中现有的Queue。
c.用C++写Message Queue的应用程序,需要包含头文件mq.h和lib库mqrt.lib。

4.Message Queue的分类

其中Public Queue和Private Queue是由应用程序创建的,或者是在Computer Management里面也可以手动建。System Queue都是由Message Queuing建的,应用程序可以读取,不能创建。

5.Message Queue操作的基本流程

Message Queue一般需要两个应用程序,一个应用程序是Message的发送方,一个应用程序是Message的接收方。
发送方:
1.创建并以发送的方式打开一个Message Queue
2.打包消息并发送
3.关闭Message Queue

接收方:
1.以接收或读取的方式打开一个Message Queue
2.接收消息并进行处理
3.关闭Message Queue



作者:Jingle Guo
出处:http://www.cnblogs.com/studynote/
若标题中有“转载”字样,则本文版权归原作者所有。若无转载字样,本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
原文地址:https://www.cnblogs.com/studynote/p/2966753.html