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

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

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

      XML-RPC入門

      一、簡介

      二、優點

      三、Python下的XML-RPC

      一、簡介

        RPC是Remote Procedure Call的縮寫,翻譯成中文為:遠程方法調用。

      它是一種在本地機器上調用遠端機器上的一個過程(方法)的技術,這個過程也被大家稱為“分布式計算”,是為了提高各個分立機器的“互操作性”而發明出來的技術。

        XML-RPC的全稱是XML Remote Procedure Call,即XML遠程方法調用。

      它是一套允許運行在不同操作系統、不同環境的程序實現基于Internet過程調用的規范和一系列的實現。這種遠程過程調用使用http作為傳輸協議,XML作為傳送信息的編碼格式。Xml-Rpc的定義盡可能的保持了簡單,但同時能夠傳送、處理、返回復雜的數據結構。XML- RPC(http://www.xmlrpc.com)是由美國UserLand公司指定的一個RPC協議。簡單的理解是:將數據定義為xml格式,通過http協議進行遠程傳輸。

      二、優點

      1. 傳輸復雜的數據。

      2. 通過程序語言的封裝,實現遠程對象的調用。

      三、Python下的XML-RPC

      1. 類庫:SimpleXMLRPCServer

        一般使用在服務器端,這個模塊用來構造一個最基本的XML-RPC服務器框架。

      2. 類庫:xmlrpclib

        一般使用在客戶端,這個模塊用來調用注冊在XML-RPC服務器端的函數,xmlrpclib并不是一個類型安全的模塊,無法抵御惡意構造的數據,這方面的一些處理工作需要交給開發者自己。

      大致用法:使用SimpleXMLRPCServer模塊運行XMLRPC服務器,在其中注冊服務器提供的函數或者對象;然后在客戶端內使用xmlrpclib.ServerProxy連接到服務器,想要調用服務器的函數,直接調用ServerProxy即可。

       

      簡單實例:hello xmlprc

      服務器端:xmlrpc_server.py

      import SimpleXMLRPCServer
      
      class MyObject:
          def sayHello(self):
              return "hello xmlprc"
      
      obj = MyObject()
      server = SimpleXMLRPCServer.SimpleXMLRPCServer(("localhost", 8088))
      server.register_instance(obj)
      
      print "Listening on port 8088"
      server.serve_forever()

       客戶端:xmlrpc_client.py

      import xmlrpclib
      
      server = xmlrpclib.ServerProxy("http://localhost:8088")
      
      words = server.sayHello()
      
      print "result:" + words

      打開一個終端,輸入命令,運行服務器端程序:

      chmod u+x xmlrpc_server.py
      python xmlrpc_server.py

      打開另一個新的終端,輸入命令,運行客戶端程序:
      chmod u+x xmlrpc_client.py
      python xmlrpc_client.py

      可以看到客戶端控制臺上輸出了:hello xmlprc。如圖:

      附:
      SimpleXMLRPCServer是一個單線程的服務器。這意味著,如果幾個客戶端同時發出多個請求,其它的請求就必須等待第一個請求完成以后才能繼續。
      若修改服務器端如下:
      from SimpleXMLRPCServer import SimpleXMLRPCServer
      from SocketServer import ThreadingMixIn
      class ThreadXMLRPCServer(ThreadingMixIn, SimpleXMLRPCServer):pass
      
      class MyObject:
          def sayHello(self):
              return "hello xmlprc"
      
      obj = MyObject()
      server = ThreadXMLRPCServer(("localhost", 8088), allow_none=True)
      server.register_instance(obj)
      
      print "Listening on port 8088"
      server.serve_forever()

       此時,服務器就支持多線程并發了。

       

      posted @ 2020-03-26 21:12  Elton丶  閱讀(1687)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 下面一进一出好爽视频| 忘忧草社区在线www| 色综合色综合久久综合频道| 精品日本免费一区二区三区| 中文激情一区二区三区四区| 国产性色的免费视频网站| 中文字幕天天躁日日躁狠狠躁免费| 少妇又爽又刺激视频| 亚洲最大成人美女色av| 亚洲精品一区国产| 国产av国片精品一区二区| 日韩亚洲精品中文字幕| 东京热高清无码精品| 挺进粗大尤物人妻中文字幕| 国产精品黄色精品黄色大片| 在线视频精品中文无码| 欧洲亚洲国内老熟女超碰| 国产99视频精品免费视频36| 一区二区三区鲁丝不卡| 亚洲人成人网站色www| 国内精品无码一区二区三区| 1000部精品久久久久久久久| 国产地址二永久伊甸园| 国产仑乱无码内谢| 2021久久精品国产99国产精品| 九九热视频在线观看视频| 中文字幕在线精品人妻| 丰满的少妇被猛烈进入白浆| 激情综合色综合啪啪开心| 西西444www高清大胆| 精品久久精品午夜精品久久| 欧洲人妻丰满av无码久久不卡| 亚洲熟女乱一区二区三区| 成人看的污污超级黄网站免费| 激情97综合亚洲色婷婷五| 久久国产精品99久久蜜臀| 加勒比无码人妻东京热| 欧美日韩精品一区二区三区高清视频 | 肥臀浪妇太爽了快点再快点| 国产不卡一区二区精品| 亚洲国产精品一区二区第一页|