Messagqueue发送图片

原创 2004年08月18日 11:18:00

摘自msdn

using System;
using System.Messaging;
using System.Drawing;
using System.IO;

namespace MyProject
{
   

    /// <summary>
    /// Provides a container class for the example.
    /// </summary>
    public class MyNewQueue
    {

        //**************************************************
        // Provides an entry point into the application.
        //        
        // This example sends and receives a message from
        // a queue.
        //**************************************************

        public static void Main()
        {
            // Create a new instance of the class.
            MyNewQueue myNewQueue = new MyNewQueue();

            // Create a queue on the local computer.
            CreateQueue(".//myQueue");
           
            // Send a message to a queue.
            myNewQueue.SendMessage();

            // Receive a message from a queue.
            myNewQueue.ReceiveMessage();

            return;
        }

        //**************************************************
        // Creates a new queue.
        //**************************************************

        public static void CreateQueue(string queuePath)
        {
            try   
                {
                if(!MessageQueue.Exists(queuePath))
                {
                    MessageQueue.Create(queuePath);
                }
                else
                {
                    Console.WriteLine(queuePath + " already exists.");
                }
            }
            catch (MessageQueueException e)
            {
                Console.WriteLine(e.Message);
            }
           
        }

        //**************************************************
        // Sends an image to a queue, using the BinaryMessageFormatter.
        //**************************************************
       
        public void SendMessage()
        {
            try{

                // Create a new bitmap.
                // The file must be in the /bin/debug or /bin/retail folder, or
                // you must give a full path to its location.
                Image myImage = Bitmap.FromFile("SentImage.bmp");

                // Connect to a queue on the local computer.
                MessageQueue myQueue = new MessageQueue(".//myQueue");
               
                Message myMessage = new Message(myImage, new BinaryMessageFormatter());

                // Send the image to the queue.
                myQueue.Send(myMessage);
            }
            catch(ArgumentException e)
            {
                Console.WriteLine(e.Message);
           
            }

            return;
        }


        //**************************************************
        // Receives a message containing an image.
        //**************************************************
       
        public  void ReceiveMessage()
        {
                       
            try
            {

                // Connect to the a queue on the local computer.
                MessageQueue myQueue = new MessageQueue(".//myQueue");

                // Set the formatter to indicate body contains an Order.
                myQueue.Formatter = new BinaryMessageFormatter();

                // Receive and format the message.
                System.Messaging.Message myMessage = myQueue.Receive();
                Bitmap myImage = (Bitmap)myMessage.Body;
               
                // This will be saved in the /bin/debug or /bin/retail folder.
                myImage.Save("ReceivedImage.bmp",System.Drawing.Imaging.ImageFormat.Bmp);
               
               
            }
           
            catch (MessageQueueException)
            {
                // Handle Message Queuing exceptions.
            }

            // Handle invalid serialization format.
            catch (InvalidOperationException e)
            {
                Console.WriteLine(e.Message);
            }

            catch (IOException e)
            {
                // Handle file access exceptions.
            }
           
            // Catch other exceptions as necessary.

            return;
        }
    }
}

另外注意一点,MessageQueue是一个独立的工具,并没有随同vs.net一同安装。所以要用的话,一定注意要安装。

我所了解的MessageQueue的消息存放过程

我所了解的MessageQueue的消息存放过程问题 对于Handler,我们在熟悉不过了,我们经常会这样 mHandler.sendMessage(msg),也经常会这样 mHandler.send...
  • Zomu_Lwl
  • Zomu_Lwl
  • 2016年07月16日 10:27
  • 786

java带图片的邮件发送方法实现

Java发送带图片的邮件,代码为发生2张图片的邮件关联方式,注释中有发送带附件、带多人发送解析的代码,可以自行调整...
  • mm7591383
  • mm7591383
  • 2014年06月03日 09:46
  • 5121

socket通讯中既可以发送文本又可以发送图片

一、客户端负责发送消息和图片,服务端负责接收消息和图片。 package cn.sxb.day31; import java.io.BufferedReader; import java.io....
  • sxb956347789
  • sxb956347789
  • 2016年10月31日 21:56
  • 770

UDP实现图片群发

UDP协议(用户数据报协议)是一种不可靠的网络协议,它在通信实例的两端各建立一个Socket,但是这两个Socket之间并没有虚拟链路,这两个Socket只是发送,接收数据报的对象。UDP的优缺点: ...
  • qq_33022345
  • qq_33022345
  • 2016年12月03日 22:15
  • 349

Windows下C 用 Socket 发送图片--基础

Windows下C 用 Socket 发送图片--基础 服务器端: #include #include #include #define SERVER_PORT 9210 //侦听端...
  • yulinxx
  • yulinxx
  • 2016年05月07日 15:40
  • 2357

Qt使用Socket传送图片(完善)

在我上一篇blog里面叙述了我使用socket传送图片的过
  • u014331618
  • u014331618
  • 2014年04月16日 10:26
  • 1913

Python smtplib发送邮件 包含文本、附件、图片等

#!/usr/bin/env python #coding: utf-8 ''' FuncName: smtplib_email.py Desc: 使用smtplib发送邮件 Date: 2016-...
  • z_johnny
  • z_johnny
  • 2016年04月13日 20:11
  • 5203

XMPP 发送消息,发送图片

在 AppDelegate.h类中添加两个属性@property (strong,nonatomic) XMPPMessageArchiving * msgArchiving; @property (...
  • u011472643
  • u011472643
  • 2015年10月14日 00:01
  • 1034

Unity3d使用socket传输图片

C# socket通信只能传输的字节流,所以 我们若是想利用socket传输任何东西,都必须将之以字节的形式进行传输 So 本文就抛砖引玉一下,以传输图片的形式来示范一下,socket传输除文本数据以...
  • qq_22393417
  • qq_22393417
  • 2015年03月30日 15:58
  • 4036

XMPP 发送图片,不显示解决方案

上篇文章中是将图片压缩成为 NSData 数据进行进行传送的,但是图片好友那边不能将 NSData 转为原始图片解决方案:将图片发送给一个文件服务器,在文件服务器有一个 URL 地址,再将这个 URL...
  • u011472643
  • u011472643
  • 2015年10月14日 01:28
  • 1347
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Messagqueue发送图片
举报原因:
原因补充:

(最多只允许输入30个字)