在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 基于Windows Mobile平臺(tái)的高速無(wú)線網(wǎng)絡(luò)的移動(dòng)解決方案

            基于Windows Mobile平臺(tái)的高速無(wú)線網(wǎng)絡(luò)的移動(dòng)解決方案

            作者: 時(shí)間:2011-12-26 來(lái)源:網(wǎng)絡(luò) 收藏

            本文引用地址:http://www.biyoush.com/article/155397.htm

             如果是發(fā)送到本機(jī)上,還可以使用“.”代表本機(jī)名稱(chēng)。具體的引用方法可以在初始化消息隊(duì)列時(shí)設(shè)置,也可以通過(guò)設(shè)置消息隊(duì)列的Path屬性來(lái)實(shí)現(xiàn)。如果在初始化時(shí)引用消息隊(duì)列,那么消息隊(duì)列必須存在于系統(tǒng)中,否則會(huì)產(chǎn)生錯(cuò)誤。在程序中可以實(shí)現(xiàn)消息隊(duì)列的創(chuàng)建。

              在初始化時(shí)引用消息隊(duì)列的代碼如下:

              MessageQueue Mq=new MessageQueue(“.private$mq”);

              通過(guò)Path屬性引用消息隊(duì)列的代碼:

              MessageQueue Mq=new

              MessageQueue();

              Mq.Path=”.private$mq”;

              如果消息隊(duì)列不存在,可以使用 Create方法可在計(jì)算機(jī)上創(chuàng)建隊(duì)列,實(shí)現(xiàn)代碼如下:

              System.Messaging.MessageQueue.

              Create(@.private$mq);

             發(fā)送消息

              應(yīng)用程序引用消息隊(duì)列后,就可以進(jìn)行發(fā)送和接收消息操作。發(fā)送的消息可以分為簡(jiǎn)單消息和復(fù)雜消息,簡(jiǎn)單消息類(lèi)型就是常用的數(shù)據(jù)類(lèi)型,例如整型、字符串等數(shù)據(jù);復(fù)雜消息的數(shù)據(jù)類(lèi)型通常對(duì)應(yīng)于系統(tǒng)中的復(fù)雜數(shù)據(jù)類(lèi)型,例如結(jié)構(gòu)體和類(lèi)對(duì)象等。

              簡(jiǎn)單消息的發(fā)送示例如下:

              Mq.Send(1000); //發(fā)送整型數(shù)據(jù)

              1000

              Mq.Send(“This is a test

              message!”); //發(fā)送字符串

              復(fù)雜消息的發(fā)送和簡(jiǎn)單消息的發(fā)送大同小異,只是發(fā)送時(shí),通常不是直接給出發(fā)送的消息內(nèi)容,而是代表發(fā)送消息內(nèi)容的變量。下面的代碼分別通過(guò)消息變量和復(fù)雜數(shù)據(jù)類(lèi)型變量發(fā)送一條復(fù)雜消息。

              下面的代碼中發(fā)送的消息由消息變量表示:

              Message Msg;

              Msg=new Message(“A Complex

              Message!”);

              Msg.Label=”This is the label”;

              Msg.Priority=MessagePriority.High; Mq.Send(Msg);

              下面的代碼中發(fā)送的消息由復(fù)雜數(shù)據(jù)類(lèi)型變量表示,Customer為自定義的一個(gè)類(lèi):

              Customer customer = new

              Customer();

              customer.LastName = Copernicus;

              customer.FirstName = Nicolaus;

              Mq.Send(customer);

             接收消息

              接收消息相比發(fā)送消息要復(fù)雜一些。接收消息有兩種方式:通過(guò)Receive方法接收消息同時(shí)永久性地從隊(duì)列中刪除消息;通過(guò)Peek方法從隊(duì)列中取出消息而不從隊(duì)列中移除該消息。如果知道消息的標(biāo)識(shí)符(ID),還可以通過(guò)ReceiveById方法和PeekById方法完成相應(yīng)的接收消息操作。

              接收消息的代碼如下:

              Mq.Receive(); //或

              Mq.ReceiveById(ID);

              Mq.Peek(); // 或

              Mq.PeekById(ID);

              閱讀消息

              只有通過(guò)根據(jù)通信雙方的約定將接收到的消息中信息提取出來(lái),傳遞的消息才有價(jià)值,因此接收到消息以后還必須能讀出消息中包含的信息。在發(fā)送端的應(yīng)用程序發(fā)送的消息和消息隊(duì)列中的傳輸消息的格式不同,因而發(fā)送端的應(yīng)用程序發(fā)送出去的消息經(jīng)過(guò)序列化以后才發(fā)送給了消息隊(duì)列,這一過(guò)程由系統(tǒng)自動(dòng)完成了,程序開(kāi)發(fā)人員不必為此編寫(xiě)代碼,然而在接收到消息后就需要對(duì)接收的消息進(jìn)行反序列化。

              消息的反序列化可以通過(guò)Visual Studio和.NET Framework附帶的三個(gè)預(yù)定義的格式化程序來(lái)完成:XMLMessageFormatter對(duì)象(MessageQueue組件的默認(rèn)格式化程序設(shè)置)、BinaryMessageFormatter對(duì)象、ActiveXMessageFormatter對(duì)象。由于后兩者格式化后的消息通常不能被用戶(hù)閱讀,所以經(jīng)常采用XMLMessageFormatter對(duì)象對(duì)接收的消息進(jìn)行反序列化。

              使用XMLMessageFormatter對(duì)象反序列化消息的代碼如下:

              string[] types = { System.String };

              ((XmlMessageFormatter)mq.Formatter).TargetTypeNames = types;

              Message m=mq.Receive(new

              TimeSpan(0,0,3));

              將接收到的消息傳送給消息變量以后,通過(guò)消息變量m的Body屬性就可以讀出消息了:

              MessageBox.Show((string)m.Body);

              關(guān)閉消息隊(duì)列

              關(guān)閉消息隊(duì)列可以通過(guò)Close函數(shù)來(lái)實(shí)現(xiàn),代碼如下:

              Mq.Close();

              結(jié)語(yǔ)

               為各行業(yè)客戶(hù)提供更加可靠便捷的。消息隊(duì)列技術(shù)保證設(shè)備與數(shù)據(jù)中心之間進(jìn)行良好的通信。通過(guò)對(duì) 上,發(fā)送、接收和閱讀消息工作過(guò)程的講解說(shuō)明消息隊(duì)列技術(shù)簡(jiǎn)單實(shí)用。MSMQ技術(shù)的 通信系統(tǒng)已經(jīng)在國(guó)內(nèi)某大型客車(chē)企業(yè)生產(chǎn)追蹤系統(tǒng)中得到應(yīng)用。


            上一頁(yè) 1 2 下一頁(yè)

            評(píng)論


            相關(guān)推薦

            技術(shù)專(zhuān)區(qū)

            關(guān)閉