2020
10-08
10-08
Python远程方法调用实现过程解析
RPCHandler和RPCProxy的基本思路是很比较简单的。如果一个客户端想要调用一个远程函数,比如foo(1,2,z=3),代理类创建一个包含了函数名和参数的元组(‘foo',(1,2),{‘z':3})。这个元组被pickle序列化后通过网络连接发生出去。这一步在RPCProxy的getattr()方法返回的do_rpc()闭包中完成。服务器接收后通过pickle反序列化消息,查找函数名看看是否已经注册过,然后执行相应的函数。执行结果(或异常)被pickle序...
继续阅读 >