Python 发送和接收RPC的函数名?

Python 发送和接收RPC的函数名?,python,naming-conventions,twisted,rpc,Python,Naming Conventions,Twisted,Rpc,我用的是扭曲的。我设置了协议,以便发送RPC时执行protocol.send(“update\u status”,data)。为了记录我实现了哪些RPC,我对每个RPC进行了单独的函数调用,因此在本例中,我将调用REQUEST\u UPDATE\u STATUS(data)来发送该RPC。当协议接收到RPC时,将根据其名称调用函数,在本例中为CMD\u UPDATE\u STATUS 问题是REQUEST和CMD有点笨拙。我可能会将REQUEST误认为是命令的一部分,例如,REQUEST\u N

我用的是扭曲的。我设置了协议,以便发送RPC时执行
protocol.send(“update\u status”,data)
。为了记录我实现了哪些RPC,我对每个RPC进行了单独的函数调用,因此在本例中,我将调用
REQUEST\u UPDATE\u STATUS(data)
来发送该RPC。当协议接收到RPC时,将根据其名称调用函数,在本例中为
CMD\u UPDATE\u STATUS

问题是
REQUEST
CMD
有点笨拙。我可能会将
REQUEST
误认为是命令的一部分,例如,
REQUEST\u NEW\u DATA
,这将触发一个名为
“NEW\u DATA”的RPC
。然而,
REQUEST\u REQUEST\u NEW\u DATA
是愚蠢的

CMD
也很尴尬,因为
请求发送新数据
会变成
CMD\u发送新数据
,这有点尴尬


有什么提示吗?

第一个提示:使用PB。。。它设计得很好,而且确实做到了这一点


第二个提示:如果第一个提示对你不起作用,就按照PB的方法做。在客户端,“callRemote(“foo_func”)”要求服务器调用服务器对象上的“foo_func”函数。然后,服务器将使用“getattr(server_obj,“remote_”+“foo_func”)来查找远程方法。如果该方法存在,则调用它。否则将返回一个错误。这个设计的好处是它完全不需要你的要求。。。命令。。。常量。

PB表示透视代理-嗯,我已经可以这样做了。。而不是
protocol.send
我做
protocol.callRemote
,而不是
CMD\u send\u NEW\u DATA
我有
remote\u sendNewData
remote\u sendNewData
。我想我可能已经基本实现了PB。我建议您通读透视代理文档。任何在Python中实现RPC的人都将受益于对PB设计的理解,因为它包含了几种常见问题的优雅解决方案。轻量级AMP协议(也在twisted中)是另一个很好的背景源。