0

私はPythonの初心者で、wxpythonを使用して、ローカルマシンで特定の操作を行うGUIモデルを作成しました。そのツールがリモートクライアントから複数のローカルシステムで動作するようにしたい。私はいくつかのドキュメント(python:Networking)を通過しましたが、理解できませんでした:(。私の要件は、ユーザーが各(任意の数のマシン)マシンのIPアドレスとポート番号を提供する必要があることです。誰かが私にPythonで解決策を提案してください?私は過去3日間からそれを試しています。

4

2 に答える 2

1

数年前に同じ問題が発生し、Python Pyro(http://pythonhosted.org/Pyro4/)で解決しました。これは、オブジェクトがネットワークを介して相互に通信できるアプリケーションを構築できるライブラリです。 、最小限のプログラミング作業で簡単に。

クライアント/サーバークライアント/クライアントなどを使用して、リモートネットワークコンピュータで「何か」を実行したり「何か」を実行したりできます。

たとえば、messageを1台の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サーバー[またはドメイン]を知っている必要があります)

サーバー上ですべてを実行し、ネットワークまたはインターネット上の他のPCから呼び出すことができます。

アプライアンスにとって非常に便利です。

お役に立てば幸いです。

(ドキュメントリンク: http: //pythonhosted.org/Pyro4/intro.html#simple-example

于 2013-03-01T12:03:44.923 に答える
0

これに対する唯一の解決策はありません。

クライアントサーバーモデルを使用する必要があります。クライアントは現在のクライアントと同様になり、サーバーがこれを制御します。ネットワーキングについてはTwistedを調べてください。おそらく、rawソケットよりも簡単です。

そのボックスにアクセスせずにリモートコマンドを実行する方法はありません。

よろしく

于 2013-03-01T11:42:11.633 に答える