<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      WebService傳輸數(shù)據(jù)流及數(shù)據(jù)交互解析

      key words:DPWS,嵌入式設(shè)備,WebService,Http,嗅探,Micro Framework。。

      為了實現(xiàn)一個嵌入式設(shè)備和一個host在IIS server上面的WebService交互,使用了MF3.0里面的DPWS方法。不過這個東西實在是Hard to use。今天就記錄下使用的過程中的第一步,首先分析一個Client和一個Webservice是如何交互的,發(fā)送的數(shù)據(jù)流的格式,然后在Device里面封裝一下Soap頭用httpClient發(fā)送出去。

      這里用到了WireShark來分析網(wǎng)絡(luò)交互的數(shù)據(jù)包。

      首先定義一個運行在IIS上面的簡單的WebService:

      namespace Cashfree.Vending.Web.WebService
      {
          [WebService(Namespace = "http://tempuri.org/")]
          [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
          [System.ComponentModel.ToolboxItem(false)]
          public class IISWS : System.Web.Services.WebService
          {

              [WebMethod]
              public string HelloWorld()
              {
                  return "Hello Robin";
              }

              [WebMethod]
              public int add(int a, int b)
              {
                  return a + b;
              }
          }
      }

      然后定義一個Client來訪問這個Webservice:

      namespace Cashfree.Vending.IISWSInvoke
      {
          class Program
          {
              static void Main(string[] args)
              {
                  ISWSSoapClient isClient = new ISWSSoapClient();           
                  Console.WriteLine(isClient.add(2, 3));
              }
          }
      }

      接著,發(fā)布好Webservice之后,編譯Client文件,然后找到Client的exe文件。

      這個時候打開WireShark,監(jiān)視網(wǎng)卡上面發(fā)送的數(shù)據(jù)流,設(shè)置過濾,格式如下:

      (ip.addr eq 10.10.20.33 and ip.addr eq 192.168.0.100) and (tcp.port eq 1795 and tcp.port eq 8088)

      雙擊Client端訪問IIS上面的Webservice,然后得到下面的一個數(shù)據(jù)包列表:

      clip_image002

      這就得到了一個完整的交互過程,從下往上,最左邊的一列是frame id。

      我把著幾個frame,199到122解析出來得到了下面的格式:

      image

      首先是客戶端發(fā)送一個請求到iis的服務(wù)器上面,請求的地址是:/WebService/IISWS.asmx,這里是支持http1.1的。

      然后連接類型是一直保持連接。

      image

       

      這是Server回的一個ACK到Client來保持連接。同時標(biāo)識連接通了。

      image

      然后Client端開始發(fā)送請求調(diào)用IIS上面的服務(wù)了,傳遞了兩個參數(shù):

      a=2,b=3;

      封裝之后,有一個頭部和一個body。Envelope在MF2.5的時候,有類庫直接對應(yīng)SOAP的頭和Body。3.0的時候找XMLDocument找了N久沒找到,MDSN上面明明寫的是有的。但是這個地方如果使用MF來解析的話,可以調(diào)用XMLReader來實現(xiàn)。只不過比較麻煩,只是提供了最基礎(chǔ)的XML訪問的方法,需要一個節(jié)點一個節(jié)點的找。

      image

      服務(wù)器端首先回一個ACK,然后跟著一個XMl文件表示調(diào)用的結(jié)果:

      <addResult>5</addResult>

      這里,俺們知道了傳輸?shù)臄?shù)據(jù)格式之后,就可以把Soap message封裝好了之后直接傳輸給Server了。

      Thursday, January 08, 2009

        

      posted on 2009-01-08 18:43  lbq1221119  閱讀(12495)  評論(2)    收藏  舉報

      導(dǎo)航

      主站蜘蛛池模板: 亚洲国产精品综合色在线| 精品人妻一区二区三区蜜臀| 阿坝县| 久操热在线视频免费观看| 国产普通话对白刺激| 午夜不卡久久精品无码免费| 嫩草欧美曰韩国产大片| 91午夜福利一区二区三区| 亚洲国产片一区二区三区| 亚洲色婷婷综合开心网| 国内精品自国内精品自久久| 国产精品剧情亚洲二区| 中文字幕亚洲人妻系列| 人妻中文字幕精品一页| 在线观看成人年视频免费| 亚洲狠狠狠一区二区三区| 99精品国产兔费观看久久99 | 最近中文字幕mv免费视频| 中文字幕乱妇无码av在线| 国产农村妇女aaaaa视频| 国产一区二区三区精品片| 精品国产高清中文字幕| 国内不卡一区二区三区| 国产福利微视频一区二区| 极品蜜臀黄色在线观看| 色噜噜狠狠成人综合| 国产口爆吞精在线视频2020版| 日韩成人高精品一区二区| 亚洲欧洲日产国无高清码图片| 免费无码又爽又刺激网站| 亚洲热无码av一区二区东京热av| 最新精品露脸国产在线| 亚洲av色在线观看国产| 国产精品亚洲二区在线播放| 亚洲人成小说网站色在线| 亚洲精品中文综合第一页| 亚洲伊人久久综合成人| 国产国产人免费人成免费| 欧美性群另类交| 免费无码无遮挡裸体视频在线观看| 亚洲高清国产拍精品熟女|