zoukankan
html css js c++ java
使用MSMQ传送文字、类、图片
学习MSMQ期间做的测试程序。
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Text;
using
System.Windows.Forms;
using
System.Xml.Serialization;
using
System.IO;
namespace
msmqApp
{
public
partial
class
Form1 : Form
{
public
Form1()
{
InitializeComponent();
}
int
iCount
=
0
;
/**/
///
<summary>
///
发送文字。
///
</summary>
private
void
btnSend1_Click(
object
sender, EventArgs e)
{
iCount
++
;
try
{
msgq1.Send(
"
Message Contents:
"
+
iCount);
}
catch
(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
/**/
///
<summary>
///
接收文字。
///
</summary>
private
void
btnReceive1_Click(
object
sender, EventArgs e)
{
System.Messaging.Message m;
string
str;
try
{
m
=
msgq1.Receive(
new
TimeSpan(
0
,
0
,
3
));
str
=
(
string
)m.Body;
}
catch
{
str
=
"
没有返回消息。
"
;
}
MessageBox.Show(str);
}
/**/
///
<summary>
///
发送一个类。
///
</summary>
private
void
btnSendClass_Click(
object
sender, EventArgs e)
{
Student no1
=
new
Student();
no1.name
=
"
my
"
;
no1.age
=
20
;
no1.sex
=
"
男
"
;
Student no2
=
new
Student();
no2.name
=
"
朋友1
"
;
no2.age
=
21
;
no2.sex
=
"
女
"
;
Student no3
=
new
Student();
no3.name
=
"
朋友2
"
;
no3.age
=
22
;
no3.sex
=
"
男
"
;
no1.friends.Add(no2);
no1.friends.Add(no3);
System.Messaging.Message m
=
new
System.Messaging.Message();
m.Body
=
no1;
try
{
msgq1.Send(m);
}
catch
(Exception ex)
{
MessageBox.Show(ex.Message
+
"
"
+
ex.InnerException.Message);
}
}
/**/
///
<summary>
///
接收一个类。
///
</summary>
private
void
btnReceiveClass_Click(
object
sender, EventArgs e)
{
System.Messaging.Message m;
Student st;
try
{
m
=
msgq1.Receive(
new
TimeSpan(
0
,
0
,
3
));
m.Formatter
=
new
System.Messaging.XmlMessageFormatter(
new
Type[]
{
typeof
(Student) }
);
st
=
(Student)m.Body;
string
str
=
"
name:
"
+
st.name;
str
+=
"
\r\n age:
"
+
st.age;
str
+=
"
\r\n sex:
"
+
st.sex;
str
+=
"
\r\n friends:\r\n
"
;
foreach
(Student friend
in
st.friends)
{
str
+=
"
[name:
"
+
friend.name;
str
+=
"
age:
"
+
friend.age;
str
+=
"
sex:
"
+
friend.sex
+
"
]\r\n
"
;
}
MessageBox.Show(str);
}
catch
(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
/**/
///
<summary>
///
发送图片
///
</summary>
private
void
btnSendImage_Click(
object
sender, EventArgs e)
{
Stream imgStream;
System.Messaging.Message mImg
=
new
System.Messaging.Message();
openFileDialog1.Filter
=
"
ImageFile(*.bmp,*.jpg,*.gif)|*.bmp;*.jpg;*.gif
"
;
openFileDialog1.FilterIndex
=
1
;
if
(openFileDialog1.ShowDialog()
==
DialogResult.OK)
{
if
((imgStream
=
openFileDialog1.OpenFile())
!=
null
)
{
mImg.BodyStream
=
imgStream;
try
{
msgq1.Send(mImg);
}
catch
(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
imgStream.Close();
}
}
}
}
/**/
///
<summary>
///
接收图片
///
</summary>
private
void
btnReceiveImage_Click(
object
sender, EventArgs e)
{
Bitmap bmp;
Stream imgStream;
System.Messaging.Message mImg
=
new
System.Messaging.Message();
bool
bReceive
=
false
;
try
{
mImg
=
msgq1.Receive(
new
TimeSpan(
0
,
0
,
3
));
bReceive
=
true
;
}
catch
{
MessageBox.Show(
"
没有接收到消息。
"
);
}
try
{
if
(bReceive)
{
imgStream
=
mImg.BodyStream;
bmp
=
new
Bitmap(imgStream);
pictureBox1.Image
=
bmp;
}
}
catch
(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Student类
#region
Student类
public
class
Student
{
public
string
name;
public
System.Collections.ArrayList friends;
public
int
age;
public
string
sex;
public
Student()
{
friends
=
new
System.Collections.ArrayList();
}
}
#endregion
}
}
要使用MSMQ必须安装win消息队列组件。
-----------------------------------------------------------------
我做的小程序们
【推荐】Web版短信管理平台源码
WinForm版短信管理平台源码
移动短信程序源码Win服务版(CMPP3.0/CMPP2.0协议)
移动物联网卡短信源码(CMPP3.0协议,支持MsSql/MySql数据库)
C#实现联通短信Sgip协议程序源码
C#实现电信短信SMGP协议程序源码
C#实现移动短信CMPP服务端程序源码
小y的QQ:
28657321
(欢迎交流)
查看全文
相关阅读:
Flask 应用上下文
request 的介绍使用属性
Session 常见操作
cookie 常用操作
Python三大web框架简单介绍
Flask 入门
类与类之间的关系
request、response 中文乱码问题与解决方式
JAVA笔记
MySQL导入大sql 文件大小限制问题的解决
原文地址:https://www.cnblogs.com/tuyile006/p/1100275.html
最新文章
LVDS_IP仿真分析
Nios ii调试问题集
Cadence丢失了csdCommon.dll
Matlab 中以分数显示结果
数组引用返回
this 指针
返回结构体引用
ROM初始化HEX文件
STL--map
STL--vector
热门文章
STL--STL和她的小伙伴们:
拓扑排序--UVa10305
图-用DFS求连通块- UVa 1103和用BFS求最短路-UVa816。
图--DFS求连通块
树--四分树(UVa297)
最长公共子序列--动态规划入门
动态规划-矩阵连乘(附备忘录法)
矩阵
render_template 网页模板
Flask flask_script扩展库
Copyright © 2011-2022 走看看