我们先简单的了解一下什么是消息队列(msmq)?消息队列是 windows 2000(nt也有msmq,win95/98/me/xp不含消息队列服务但是支持客户端的运行)操作系统中通讯的基础,也是用于创建分布式、松散连接通讯应用程序的工具。 这些应用程序可以通过不同种类的网络进行通讯,也可以与脱机的计算机通讯。
消息队列分为用户创建队列和系统队列,用户队列分为:
1."公共队列"在整个可传递消息的"消息队列"网络中复制并传输,并且有可能由网络连接的所有站点访问。
2."专用队列"不在整个网络中发布。相反,它们仅在所驻留的本地计算机上可用。专用队列只能由知道队列的完整路径名或标签的应用程序访问。
3."管理队列"包含确认在给定"消息队列"网络中发送的消息回执的消息。指定希望 messagequeue 组件使用的管理队列。
4."响应队列"包含目标应用程序接收到消息时返回给发送应用程序的响应消息。指定希望 messagequeue 组件使用的响应队列。
系统队列分为:
1."日记队列"可选地存储发送消息的副本和从队列中移除的消息副本。
2."死信队列"存储无法传递或已过期的消息的副本。
3."专用系统队列"是一系列存储系统执行消息处理操作所需的管理和通知消息的专用队列。
现在大家对消息队列有了简单的了解后,就该进入主题了。要使用msmq进行软件开发需要安装msmq。安装完后就该进入实际的开发阶段。先打开vs.net ide中的"服务起资源管理器"展开你想建立消息队列的计算机名,再展开"消息队列"右击它在弹出菜单中选择"新建"建立一个新的消息队列,并为它指定一个名字,这个名字可以随意。也可以通过编程来完成,代码如下:
system.messaging.messagequeue.create(".\private$\myprivatequeue")'建立专用队列
system.messaging.messagequeue.create("mymachine\myqueue")'建立公共队列
public sub client()
dim tm as new system.messaging.messagequeue()
tm.path = ".\private$\jk" '"formatname:public=3d3dc813-c555-4fd3-8ce0-79d5b45e0d75"'与指定计算机中的消息队列建立连接,
dim newmessage as new system.messaging.message(textbox1.text)'接受文本筐的t-sql语句
newmessage.label = "this is the label"'消息名字,
tm.send(newmessage)'发送消息
end sub
public sub server()
dim newqueue as new system.messaging.messagequeue(".\private$\jk")'"formatname:public=3d3dc813-c555-4fd3-8ce0-79d5b45e0d75"'与指定计算机中的消息队列建立连接,
dim m as system.messaging.message
'查看消息队列中的消息
m = newqueue.receive
m.formatter = new system.messaging.xmlmessageformatter(new string() {"system.string,mscorlib"})
dim st as string
st = m.body'消息队列中消息的消息内容。既sql语句
dim con as new oledb.oledbconnection("输入自己的数据库连接字符串")
con.open()
dim com as new oledb.oledbcommand(st, con)'执行消息中的sql语句
com.executenonquery()
con.close()
end sub
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器