zoukankan      html  css  js  c++  java
  • basic concepts about MSMQ

    MSMQ is a technichque through which the processes or computers in distributed systems communicate and exchange data asychrounsely and stablely.

    2 the type of MSMQ:
     1.Private MQ
     this kind of MSMQ can only be stored in local host and the messages are transferred among the processes of local host
    2. public MQ
     this kind of MSMQ can be delieverd among the destributed system only if the hosts are in the arange of  demain/workgroup. MSMQ can work although the destination-hosts are off-line, cos the Messages are stored in client,  in which there is an backend process to broadcast them. only if the receiving destination are on-line, it may receive  the messages then.
    3.System MQ
     this kind of MSMQ is about the system operation special message queues that be encapsulated as Message to broadcast in demain/workgroup. I have not so much ideas about this MSMQ.

    3the content of MSMQ:
     1.simple text message
     in the simplest case, the message can be just simple text
    2.object message
     the message that is to be sent also can be an object

    4 the formatter of MSMQ
    1.XML
    2.Binary file
    note:the client and server must keep the same formatter to send/receive MSMQ,eithor XML or Binary file all.

    5 class and operations/methods concerned in .net framework using C#
      1.concerned class: System.Messaging---MessageQuequ, Message
     2.main concerned methods/operations
      1) MessageQuequ.Exists(MSMQ_Name)  
       ---to judge the MSMQ named MSMQ_Name does already exists.if do, return true, else return false;
      2) MessageQueue.Create(MSMQ_Name)
       ---to create a MSMQ named MSMQ_Name, and return the instance of an Message queue.
      3) the formatter of message
       //binary file format
        System.Messaging.Formatter=System.Messaging.BinaryMessageFormatter(new Type[]{message_type});
        //XML format
        System.Messaging.Formatter=System.Messaging.xmlMessageFormatter(new Type[]{message_type});
      3) assume obj_message is an instance about System.Messaging.Message
       //initialize an instance of message
       obj_message=new System.Messaging.Message(message_content)
       //send message
       obj_message.send()
       //receive message syncronousely
       obj_message.receive()
       //receive message asyncronousely
       obj_message.beginreceive()

  • 相关阅读:
    Go -- 调用C/C++
    fatal error: sys/cdefs.h: No such file or directory
    ubuntu下安装go语言;sublime+gocode搭建;go的卸载和环境变量配个人.bashrc
    sqlite多表关联update
    sqlite insert select 联合使用
    sqlite3 支持的关联查询
    iOS -- 拨打电话
    lapis 项目添加prometheus 监控
    lapis 1.7.0 更好的openresty 版本兼容以及安全数据库支持
    skipper backend 负载均衡配置
  • 原文地址:https://www.cnblogs.com/Winston/p/1130630.html
Copyright © 2011-2022 走看看