欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用XML庫(kù)的方式,實(shí)現(xiàn)RPC通信的方法(推薦)

 更新時(shí)間:2017年06月14日 07:49:15   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇使用XML庫(kù)的方式,實(shí)現(xiàn)RPC通信的方法(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

1、先說(shuō)結(jié)論:使用xml-rpc的機(jī)制可以很方便的實(shí)現(xiàn)服務(wù)器間的RPC調(diào)用。

2、試驗(yàn)結(jié)果如下:

3、源碼如下:

服務(wù)器端的源代碼如下:

import operator, math
from SimpleXMLRPCServer import SimpleXMLRPCServer
from functools import reduce

def main():
  server = SimpleXMLRPCServer(('127.0.0.1', 7001))
  server.register_introspection_functions()
  server.register_multicall_functions()
  server.register_function(addtogether)
  server.register_function(quadratic)
  server.register_function(remote_repr)
  
  print("Server ready")
  server.serve_forever()
  
def addtogether(*things):
  """Add together everything in the list things ."""
  return reduce(operator.add, things)
  
def quadratic(a, b, c):
  """Determine x values satisfying: a * x * x + b * x + c = 0"""
  b24ac = math.sqrt(b*b - 4.0*a*c)
  return list(set([(-b-b24ac) / 2.0*a, (-b+b24ac) / 2.0*a]))
  
def remote_repr(arg):
  """return the repr() rendering of the supplied arg """
  return arg
  
if __name__ == '__main__':
  main()

客戶端的代碼如下:

import xmlrpclib

def main():
  proxy = xmlrpclib.ServerProxy('http://127.0.0.1:7001')
  
  print("Here are the functions supported by this server:")
  
  print("next calculator addtogether: ")
  print(proxy.addtogether('x','y','z'))
  print(proxy.addtogether('x','y','z'))
  
  print(proxy.addtogether('x','y','z'))
  print(proxy.addtogether('x','y','z'))
  for method_name in proxy.system.listMethods():
    if method_name.startswith('system.'):
      continue
      
    signatures = proxy.system.methodSignature(method_name)
    if isinstance(signatures, list) and signatures:
      for signature in signatures:
        print('%s(%s)' %(method_name, signature))
        
    else:
      print('%s(...)' %(method_name,))
      
    method_help = proxy.system.methodHelp(method_name)
    #if method_help:
    #  print(' ', methodHelp)
  
  print(proxy.addtogether('x','y','z'))
  print("addtogether result ")
      
if __name__ == '__main__':
  main()

以上這篇使用XML庫(kù)的方式,實(shí)現(xiàn)RPC通信的方法(推薦)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python利用Diagrams繪制漂亮的系統(tǒng)架構(gòu)圖

    Python利用Diagrams繪制漂亮的系統(tǒng)架構(gòu)圖

    Diagrams  是一個(gè)基于Python繪制云系統(tǒng)架構(gòu)的模塊,它能夠通過(guò)非常簡(jiǎn)單的描述就能可視化架構(gòu)。本文將利用它繪制漂亮的系統(tǒng)架構(gòu)圖,感興趣的可以了解一下
    2023-01-01
  • 通過(guò)PHP與Python代碼對(duì)比的語(yǔ)法差異詳解

    通過(guò)PHP與Python代碼對(duì)比的語(yǔ)法差異詳解

    這篇文章主要介紹了通過(guò)PHP與Python代碼對(duì)比淺析語(yǔ)法差異,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 總結(jié)Pyinstaller打包的高級(jí)用法

    總結(jié)Pyinstaller打包的高級(jí)用法

    前段時(shí)間在制作詞云制作小工具的時(shí)候,直接在命令行用pyinstaller -F 工具.py指令打包成功后,啟動(dòng)exe可執(zhí)行文件的時(shí)候各種報(bào)錯(cuò), 今天,我們就分享一下踩坑經(jīng)過(guò),需要的朋友可以參考下
    2021-06-06
  • python 視頻下載神器(you-get)的具體使用

    python 視頻下載神器(you-get)的具體使用

    這篇文章主要介紹了python 視頻下載神器(you-get)的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Python模塊zipfile原理及使用方法詳解

    Python模塊zipfile原理及使用方法詳解

    這篇文章主要介紹了Python模塊zipfile原理及使用方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 利用python模擬實(shí)現(xiàn)POST請(qǐng)求提交圖片的方法

    利用python模擬實(shí)現(xiàn)POST請(qǐng)求提交圖片的方法

    最近在利用python做接口測(cè)試,其中有個(gè)上傳圖片的接口,在網(wǎng)上各種搜索,各種嘗試。下面這篇文章主要給大家介紹了關(guān)于利用python模擬實(shí)現(xiàn)POST請(qǐng)求提交圖片的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-07-07
  • python中@contextmanager裝飾器的用法詳解

    python中@contextmanager裝飾器的用法詳解

    這篇文章主要介紹了python中@contextmanager裝飾器的用法詳解,@contextmanager 的作用就是我們可以把一個(gè)非自定義類改成一個(gè)上下文管理器,需要的朋友可以參考下
    2023-07-07
  • Python列表去重復(fù)項(xiàng)的N種方法(實(shí)例代碼)

    Python列表去重復(fù)項(xiàng)的N種方法(實(shí)例代碼)

    這篇文章主要介紹了Python列表去重復(fù)項(xiàng)的N種方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Python Matplotlib 庫(kù)使用指南

    Python Matplotlib 庫(kù)使用指南

    這篇文章主要介紹了Python Matplotlib 庫(kù)使用基本指南,通過(guò)本教程,我們學(xué)習(xí)了使用 Matplotlib 創(chuàng)建各種類型的圖表和圖形,Matplotlib 提供了豐富的函數(shù)和選項(xiàng),以滿足不同的數(shù)據(jù)可視化需求,需要的朋友可以參考下
    2024-01-01
  • Python接口測(cè)試結(jié)果集實(shí)現(xiàn)封裝比較

    Python接口測(cè)試結(jié)果集實(shí)現(xiàn)封裝比較

    這篇文章主要介紹了Python接口測(cè)試結(jié)果集比較封裝,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05

最新評(píng)論