Skip to content

Commit ffaa06b

Browse files
committed
Create rpc.py
1 parent 5902d73 commit ffaa06b

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

rpc.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
有时我们需要一个建立RPC服务简单而快速的方法我们需要的只是让程序B去调用程序A(可能在另一个机器上)的方法
2+
3+
我们不用了解关于这个的任何技术但是我们只是需要这么个简单的东西我们可以使用一个叫做 XML-RPC 的协议(对应的Python库实现 SimpleXMLRPCServer )来处理这种事
4+
5+
这里是一个简单粗糙的文件阅读服务器:
6+
7+
from SimpleXMLRPCServer import SimpleXMLRPCServer
8+
9+
def file_reader(file_name):
10+
with open(file_name, 'r') as f:
11+
return f.read()
12+
13+
server = SimpleXMLRPCServer(('localhost', 8000))
14+
server.register_introspection_functions()
15+
16+
server.register_function(file_reader)
17+
18+
server.serve_forever()
19+
20+
响应它的客户端:
21+
22+
import xmlrpclib
23+
proxy = xmlrpclib.ServerProxy('http://localhost:8000/')
24+
proxy.file_reader('/tmp/secret.txt')
25+
现在我们就有了一个远程的文件阅读器除了一点代码没有外部依赖。(当然不安全所以只在用这个吧)

0 commit comments

Comments
 (0)