一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - 使用XML庫的方式,實現RPC通信的方法(推薦)

使用XML庫的方式,實現RPC通信的方法(推薦)

2020-11-17 00:39腳本之家 Python

下面小編就為大家帶來一篇使用XML庫的方式,實現RPC通信的方法(推薦)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

1、先說結論:使用xml-rpc的機制可以很方便的實現服務器間的RPC調用。

2、試驗結果如下:

使用XML庫的方式,實現RPC通信的方法(推薦)

3、源碼如下:

服務器端的源代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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()

客戶端的代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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庫的方式,實現RPC通信的方法(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产aaaaa一级毛片 | yellow字幕网在线zmzz91 | 扒开斗罗美女了的胸罩和内裤漫画 | 精品国产爱久久 | 亚洲国产精品线在线观看 | 亚洲一区二区日韩欧美gif | 我的青梅竹马是消防员2季未增删免费 | 国产人成77777视频网站 | 羞羞麻豆国产精品1区2区3区 | 青草久久伊人 | 久草在线福利资站免费视频 | 精品视频一区二区三区免费 | 成人福利免费在线观看 | 欧美cosplay极品video | 国产精品国产香蕉在线观看网 | 国产另类视频 | 深夜福利影院 | 日本高清在线看免费观看 | 欧美人禽杂交在线视频 | 干美女视频| 国产精品特黄毛片 | 九九99香蕉在线视频美国毛片 | sihu国产午夜精品一区二区三区 | 九九精品视频在线播放 | 亚洲 欧美 国产 日韩 字幕 | 法国老妇性xx在线播放 | 99久久久无码国产精品 | 人与动人物性行为zozo共患病 | 四虎影库紧急大通知 | 欧洲网色偷偷亚洲男人的天堂 | 精品无码一区在线观看 | 成人精品在线 | 思思99热久久精品在2019线 | 石原莉奈被店长侵犯免费 | 黄动漫车车好快的车车双女主 | 亚洲国产天堂综合一区 | 国产东北三老头伦一肥婆 | 操出水视频 | 日本中文字幕高清 | 国产精品66福利在线观看 | 国色天香视频完整版 |