我正在使用扭曲。我设置了协议,以便发送RPC,{I} protocol.send("update_status", data)
。为了记录我实现了哪些RPC,我为每个RPC进行了单独的函数调用,因此在这种情况下,我会调用REQUEST_UPDATE_STATUS(data)
来发送该RPC。当协议收到RPC时,将根据其名称调用函数,在本例中为CMD_UPDATE_STATUS
。
问题在于REQUEST
和CMD
有点尴尬。我可以将REQUEST
误认为命令的一部分,例如REQUEST_NEW_DATA
,这最终会触发名为'new_data'
的RPC。但是,REQUEST_REQUEST_NEW_DATA
只是愚蠢的。
CMD
也很尴尬,因为REQUEST_SEND_NEW_DATA
会变成CMD_SEND_NEW_DATA
,这有点尴尬。
任何提示?
答案 0 :(得分:1)
第一个提示:使用PB ......它设计得很好并且完全正确
第二个提示:如果第一个提示不适合你,那就做PB做的事。在客户端,“callRemote(”foo_func“)”要求服务器调用服务器对象上的“foo_func”函数。然后服务器将使用“getattr(server_obj,”remote_“+”foo_func“)”来查找远程方法。如果该方法存在,则调用它。否则返回错误。这个设计的好处是它完全取消了你的REQUEST ... CMD ...常量。