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
(欢迎交流)
查看全文
相关阅读:
关于今后的进展
很久没来了
达到极限了
寒假进度4Scala环境配置
寒假进度3Jupyter运行PyTorch
寒假进度2Pycharm运行PyTorch
寒假进度7Python与Jupyter使用对比
寒假进度6音频多人声分离赛题分析
《Google的软件测试之道》(5)
《Google的软件测试之道》(6)
原文地址:https://www.cnblogs.com/tuyile006/p/1100275.html
最新文章
介绍一种查找网站被上传的恶意文件的方法
ExtJs Extender Controls 3.2.0 截图及下载
多余的项目外包,可长期合作.深圳的朋友(已结束,谢谢支持)
泛型数据生成Excel
webservice小解
asp.net mvc3.0 在EF CodeFirst中自定义Model跟数据库中的表名、字段名的对应关系
Unicode To ASCII,改写至Js
Web前端研发工程师
征懂IOS开发的同仁,联系QQ 755414
备战android开发—面试题汇总
热门文章
android开发中常用的快捷键
转到Windows Phone的背景
android真机调试 INSTALL_FAILED_MEDIA_UNAVAILABLE 问题解决方案
intent.putExtra()方法参数详解
修改Android工程版本
vb Do循环语句的几种形式
.net转android 自励
学习成果:从dentry到inode的过程
郁
我回来了
Copyright © 2011-2022 走看看