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

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

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通信的方法(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产大秀视频一区二区三区 | 国产一级黄色网 | 91亚洲视频在线观看 | 亚洲 欧美 国产 视频二区 | 精品国产中文字幕在线视频 | 亚洲色图综合网 | 办公室操秘书 | 国产美女亚洲精品久久久综合 | 亚洲成年网站在线777 | 精品综合在线 | 精品国产免费第一区二区 | 青草悠悠视频在线观看 | avtt天堂在线 | 奇米777狠狠 | 96萝莉 | 欧美腐剧mm在线观看 | 色琪琪久久草在线视频 | 欧美福利二区 | 欧美精品一区二区三区免费观看 | 亚洲国产综合另类视频 | 69午夜影院| 国产真实一区二区三区 | www.男人天堂 | 亚洲天堂网在线观看视频 | 欧美一区二区不卡视频 | 日韩在线观看免费 | 国产人成精品午夜在线观看 | 深夜在线观看网站 | 国产亚洲女人久久久久久 | 国产在线激情视频 | 新影音先锋男人色资源网 | 超高清欧美同性videos | 狠狠色婷婷丁香六月 | 暖暖视频高清图片免费完整版 | 亚洲男女天堂 | 国产精品免费综合一区视频 | 俄罗斯性高清完整版 | 青青青视频免费线看 视频 青青青青青国产免费手机看视频 | 欧美日韩精品一区二区三区视频在线 | 91李宗精品72集在线观看 | 添逼逼视频 |