激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 色综合久久99 | 亚洲天堂岛国片 | 免费观看亚洲视频 | 国产在线精品一区二区三区不卡 | 久久精品免费网站 | 久久sp| 欧美日韩高清在线观看 | 成年人黄色免费电影 | 国产成视频在线观看 | 欧美日韩夜夜 | 中文字幕在线免费看 | 成人久久久精品乱码一区二区三区 | 久久久久久久久亚洲精品 | 九九爱视频 | 中文字幕在线视频日本 | 黄色片视频免费观看 | 国产精品久久久久久久久久大牛 | 成人毛片在线免费看 | 曰韩毛片 | 黄色成人在线 | 91短视频在线观看 | 高清中文字幕在线 | 色就色 综合偷拍区91网 | 久久久无码精品亚洲日韩按摩 | 日本一区二区不卡在线 | 欧美成人三级大全 | 91久久国产| 国产一级做a爰片在线看 | 欧美一级电影网 | 欧美另类综合 | 久久久免费观看完整版 | 欧美精品一区二区三区四区 | 九九热久久免费视频 | 92看片淫黄大片欧美看国产片 | 色婷婷综合久久久中文一区二区 | 欧美特黄特色视频 | 亚洲第一视频 | 久久吊 | 成人小视频在线播放 | 热re91久久精品国产99热 | 婷婷一区二区三区 |