与SimpleXMLRPCServer在Python客户端/服务器的角色互换(Client/Serv

2019-10-22 08:40发布

我工作的一个项目,一组来自不同客户机的方法暴露的信息收集和自动化的目的服务器。 我使用Python的那一刻,并SimpleXMLRPCServer似乎到本地网络,在那里我知道客户端机器的地址上工作很好,而且也没有NAT或防火墙。

问题是,客户端/服务器模型是向后什么我想做的事情。 而不是有一个RPC服务器的客户端机器上运行,暴露在软件客户端的服务,我想有一台服务器监听来自客户端,其中连接并公开服务到服务器的连接。

我已经想过隧道,用SSH远程端口转发,或VPN,但这些方案不能很好地扩展,并引入更多的开销和复杂性,比我想。

我想我可以写一个服务器和客户端扭转模式,但我不想重新发明轮子,如果它已经存在。 在我看来,这将是一个共同的足够的问题,会有它的解决方案了。

我也只是削减我对Python和网络服务的牙齿,因此有可能我问错了问题完全。

Answer 1:

你想要什么可能是WAMP路由RPC 。 这似乎解决您的问题,这是非常方便的,一旦你习惯了它。

我们的想法是把WAMP路由器(比方说)在云中,都RPC调用者和被调用RPC与路由器的出站连接的客户端。

我还使用VPN通过互联网连接物联网设备连接在一起,但切换到该路由器模式真的简单的事情了,它扩展相当不错。

顺便说WAMP以实现不同的语言 ,包括Python。



Answer 2:

也许火焰兵可以使用? 它允许Python中的许多形式的分布式计算。 你是不是在你的要求很清楚,所以很难说,如果这可能为你工作,但我劝你看看文档或火焰兵的许多例子,看看是否有什么东西符合你想要做什么。

火焰兵最抽象的网络复杂性的时候,你只需调用一个方法(远程)蟒蛇对象。



文章来源: Client/Server role reversal with SimpleXMLRPCServer in Python