客户端到服务器远程函数调用Python。如何实施?

时间:2013-09-11 18:47:37

标签: python twisted xml-rpc

我正在尝试设置一个简单的客户端到服务器接口,用于调用服务器上的函数/程序。客户端将向服务器发送一个简单的命令来监听这些命令。一旦服务器从客户端收到命令,它将在服务器上执行以下功能或程序。我已经研究了一个简单的TCP服务器接收文本字符串并解析该字符串然后执行一个函数或外部程序。我已经阅读过使用带有扭曲服务器的XML-RPC。

我问的是哪种设置最容易,还是有其他方法可以轻松完成这项任务?

感谢。

3 个答案:

答案 0 :(得分:0)

有一个很好的扭曲教程可以很好地作为教学工具(并在编写基本服务器/客户端服务时指导您)。快来看看http://twistedmatrix.com/documents/current/core/howto/tutorial/您可能想要做的是解析收到的信息并采取相应的行动。

答案 1 :(得分:0)

如果适用于您的情况,也许您可​​以使用功能齐全的系统执行Celery等异步/远程作业?

答案 2 :(得分:0)

有多种方法可以实现您的要求,具有一些优点和缺点:

  • Python低级套接字

使用标准python套接字库和cliet服务器架构

  • 通过Telnet / SSh等协议连接服务器,然后触发一些代码。

使用Telnet / ssh或Subprocess等Python库。

  • XML-RPC

按照http://docs.python.org/2/library/xmlrpclib.html

所述发送XMP RPC请求

在我看来,实现远程方法触发的最简单方法是通过Python子进程模块。我的一般用途通常使用以下语法。

import subprocess

ret = subprocess.call(["ssh", "user@host", "program"]);

# or, with stderr:
prog = subprocess.Popen(["ssh", "user@host", "program"], stderr=subprocess.PIPE)
errdata = prog.communicate()[1]

希望有所帮助