0

我是 python 的新手,使用 wxpython 我制作了一个 GUI 模型,它在本地机器上执行某些操作。我希望该工具从远程客户端对多个本地系统进行操作。我已经浏览了一些文档(python:Networking),但我无法理解:(。我的要求是用户应该提供每台(任意数量的机器)机器的 IP 地址以及端口号。如果不做 ssh,它应该会发生。可以有人请建议我用 python 解决方案吗?我从最近 3 天开始尝试它。

4

2 回答 2

1

几年前我遇到了同样的问题,我用 Python Pyro ( http://pythonhosted.org/Pyro4/ ) 解决了这个问题,它是一个库,使您能够构建对象可以通过网络相互通信的应用程序, 用最少的编程工作和简单。

您可以使用客户端/服务器客户端/客户端等,您可以在远程网络计算机中执行“事情”或做“某事”。

例如,如果您必须将 a 发送message到一台 PC,或发送File,或执行class远程等。

完整示例:

服务器

# saved as greeting.py
import Pyro4

class GreetingMaker(object):
    def get_fortune(self, name):
        return "Hello, {0}. Here is your fortune message:\n" \
               "Tomorrow's lucky number is 12345678.".format(name)

greeting_maker=GreetingMaker()

daemon=Pyro4.Daemon()                 # make a Pyro daemon
ns=Pyro4.locateNS()                   # find the name server
uri=daemon.register(greeting_maker)   # register the greeting object as a Pyro object
ns.register("example.greeting", uri)  # register the object with a name in the name server

print "Ready."
daemon.requestLoop()                  # start the event loop of the server to wait for calls

客户

# saved as client.py
import Pyro4

name=raw_input("What is your name? ").strip()

greeting_maker=Pyro4.Proxy("PYRONAME:example.greeting")    # use name server object lookup uri shortcut
print greeting_maker.get_fortune(name)

首先,您必须运行服务器(例如在 IP 本地或其他上),它将等待请求,如果您运行客户端,您将看到它是如何工作的(必须知道在哪里连接,IP 服务器 [或域])

您可以在服务器上执行所有操作,并从网络或 Internet 上的其他 PC 调用它。

它对您的设备非常有用。

我希望它对你有帮助。

(文档链接: http: //pythonhosted.org/Pyro4/intro.html#simple-example

于 2013-03-01T12:03:44.923 回答
0

没有一个解决方案。

您将需要使用客户端服务器模型。您的客户端将与您现在拥有的类似,服务器将控制它。查看Twisted的网络,它可能比原始套接字更容易。

如果没有访问该框,就无法运行远程命令。

问候

于 2013-03-01T11:42:11.633 回答