【问题标题】:how to connect to local machine using remote client machine如何使用远程客户端机器连接到本地机器
【发布时间】:2013-02-15 21:14:14
【问题描述】:

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

【问题讨论】:

    标签: python ssh wxpython remote-access


    【解决方案1】:

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

    可以使用Client/Server Client/Client等,可以在远程网络计算机上执行“事情”或做“某事”。

    例如,如果您必须将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

    【讨论】:

    • @ManuParra 谢谢,我会检查建议的链接。
    【解决方案2】:

    没有一个解决方案。

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

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

    问候

    【讨论】:

    • @joe doherty :谢谢,但根据 manuparr 解决方案,我们可以做到这一点。
    猜你喜欢
    • 1970-01-01
    • 2016-06-21
    • 2015-11-19
    • 1970-01-01
    • 1970-01-01
    • 2020-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多