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