zoukankan      html  css  js  c++  java
  • pythonRPC调用简单实现

    服务端的实现:

    import SimpleXMLRPCServer,os
    running=True
    funs=['add','minus','exit','getCurrentList','linuxCmd']
    #new code解决rpc调用速度慢
    #每次返回的时候BaseHTTPRequestHandler 都会调用log_message 方法记录一些日志信息,而log_message方法需要知道请求的host 。
    # 问题就出在这里,当没有host的时候程序会调用_socket 的gethostname()方法,而服务器上并没有配置驿应的host。
    import BaseHTTPServer
    def not_insane_address_string(self):
        host, port = self.client_address[:2]
        return '%s (no getfqdn)' % host #used to call: socket.getfqdn(host)
    BaseHTTPServer.BaseHTTPRequestHandler.address_string =\
    not_insane_address_string
    #end new code
    class ExposeFuns(object):
        def add(self,a,b):
            return a+b
        def minus(self,a,b):
            return a-b
        def exit(self):
            global running
            running=False
            return 'exit!'
        def getCurrentList(self):
            return os.getcwd()
        def listDir(self,dir):
            return os.listdir(dir)
        def linuxCmd(self,dir):
            return os.popen(dir).read()
        def useage(self):
            return funs;
    server= SimpleXMLRPCServer. SimpleXMLRPCServer(('localhost',8000))
    server.register_instance(ExposeFuns())
    #server.register_function(add)
    while running:
        server.handle_request()


    客户端的实现:

    import xmlrpclib
    server=xmlrpclib.Server('http://127.0.0.1:8000')
    print server.add(5,88)
    print server.minus(server.add(5,88),5)
    print server.finis()


  • 相关阅读:
    spring cloud中代理服务器zuul的使用
    springcloud断路器Dashboard监控仪表盘的使用
    Java中 final和static解析
    使用redis和thread告警并避免重复告警
    Windows 下redis的安装和使用
    服务端监控工具Nmon使用方法
    linux性能监控工具nmon生成HTML报告-EasyNmon
    接口测试用例设计
    RESTful API浅谈
    接口测试与总结
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3080476.html
Copyright © 2011-2022 走看看