• Welcome to the world's largest Chinese hacker forum

    Welcome to the world's largest Chinese hacker forum, our forum registration is open! You can now register for technical communication with us, this is a free and open to the world of the BBS, we founded the purpose for the study of network security, please don't release business of black/grey, or on the BBS posts, to seek help hacker if violations, we will permanently frozen your IP and account, thank you for your cooperation. Hacker attack and defense cracking or network Security

    business please click here: Creation Security  From CNHACKTEAM

Recommended Posts

一 Python中RPC框架

自带的:SimpleXMLRPCServer(数据包大,速度慢)

第三方:ZeroRPC(底层使用无和MessagePack,速度快,响应时间短,并发高),grpc(谷歌推出支持夸语言)

二 SimpleXMLRPCServer使用

服务端

2

3

5

6

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

从xmlrpc.server导入SimpleXMLRPCServer

类RPCServer(对象):

def __init__(self):

超级(RPCServer,self).__init__()

打印(自我)

self.send_data='lqz nb '

self.recv_data=无

def getObj(self):

打印("获取数据")

返回self .发送_数据

def sendObj(self,data):

打印("发送数据")

self.recv_data=data

打印(self.recv_data)

# SimpleXMLRPCServer

server=SimpleXMLRPCServer((' localhost ',4242),allow_none=True)

服务器。register _ introspection _ functions()

服务器。注册实例(RPC服务器())

server.serve_forever()

客户端

2

3

5

6

8

9

10

11

12

13

14

15

16

17

18

导入时间

从xmlrpc.client导入服务器代理

# SimpleXMLRPCServer

def xmlrpc_client():

打印(“xmlrpc客户端")

c=服务器代理(' http://本地主机:4242 ')

数据='lqz nb '

start=time.clock()

对于范围(500):内的我

a=c.getObj()

打印(一份)

对于范围(500):内的我

c.sendObj(数据)

打印(' xmlrpc总时间%s' % (time.clock() - start))

if __name__=='__main__':

xmlrpc_client()

三 ZeroRPC使用

服务端

2

3

5

6

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

导入zerorpc

类RPCServer(对象):

def __init__(self):

超级(RPCServer,self).__init__()

打印(自我)

self.send_data='lqz nb '

self.recv_data=无

def getObj(self):

打印("获取数据")

返回self .发送_数据

def sendObj(self,data):

打印("发送数据")

self.recv_data=data

打印(self.recv_data)

# zerorpc

s=zerorpc .服务器(RPCServer())

s.bind('tcp://0.0.0 ')

运行()

客户端

2

3

5

6

8

9

10

11

12

13

14

15

16

17

18

19

20

导入zerorpc

导入时间

# zerorpc

def zerorpc_client():

打印(“zerorpc客户端")

c=zerorpc .客户端()

c。连接(‘TCP ://127。0 .0 .33604243 ')

数据='lqz nb '

start=time.clock()

对于范围(500):内的我

a=c.getObj()

打印(一份)

对于范围(500):内的我

c.sendObj(数据)

打印('总时间%s' % (time.clock() - start))

if __name__=='__main__':

zerorpc_client()

Link to comment
Share on other sites