我是python的新手,使用wxpython我已经制作了一个GUI模型,它在本地机器上执行某些操作。 我希望该工具在远程客户端上对多个本地系统进行操作。我已经通过几个文档(python:网络),但我无法理解:(。我的要求是用户应该提供每个(任意数量的机器)机器的IP地址和端口号。并且不做ssh它应该发生。 任何人都可以建议我在python中的解决方案?我在过去3天尝试它。
答案 0 :(得分:1)
几年前我遇到了同样的问题,我用Python Pyro(http://pythonhosted.org/Pyro4/)解决了这个问题,它是一个可以让你构建应用程序的库,在这些应用程序中,对象可以通过网络相互通信,最简单的编程工作和简单。
您可以使用客户端/服务器客户端/客户端等,您可以在远程网络计算机中执行“事物”或执行“某事”。
例如,如果您必须将message
发送到一台PC,或发送File
,或执行class
遥控器等
完整示例:
SERVER 的
# 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)
答案 1 :(得分:0)
没有一个解决方案。
您需要使用客户端服务器模型。您的客户端将与您现在拥有的客户端类似,服务器将控制此客户端。查看Twisted网络,它可能比原始套接字更容易。
如果没有访问该框,就无法运行远程命令。
此致