2007/08/05
SimpleXMLRPCサーバー
by
Papasan
—
posted at
2007-08-05 19:20
last modified
2007-08-06 09:16
エコーサーバーをXMLRPCでできないか実験中です。 本当はスレッド化した方がいいのでしょうが難しいです。
- 次のようなスクリプトを作成します。:
# echoserver.py import SimpleXMLRPCServer import time class Echo: def echo(self, message): print 'echo message : ' + message time.sleep(10) return message SimpleXMLRPCServer.SimpleXMLRPCServer.allow_reuse_address=True s = SimpleXMLRPCServer.SimpleXMLRPCServer(('localhost', 12345)) s.register_instance(Echo()) s.serve_forever() - ターミナルからechoserverを起動します。:
# python echoserver.py
- 次に別のターミナルからクライアントを作り、echoserverにPOSTします。:
# python >>> import xmlrpclib >>> s = xmlrpclib.ServerProxy('http://localhost:12345') >>> print s.echo('A client') A client - echoserverのターミナルにログが吐き出されます。:
echo message : A client localhost.localdomain - - [05/Aug/2007 18:44:21] "POST /RPC2 HTTP/1.0" 200 -
- もう一個、別のターミナルでクライアントを作って、ほぼ同時に要求をだしましたが順番待ののちレスポンスが返ってきました。スレッド化せずとも十分実用できそうです。
- owaさんちのXMLRPCサンプルコード
- Category(s)
-
自鯖おやじ
- The URL to Trackback this entry is:
- http://papasan.org/papablog/342/tbping
(トラックバック元のページには"Papasan"や"papasan"または言及リンクの記述が必要です。)
だいぶ軽くなると思うんですが。
気長にやっておりますです。
「Junker'sRing更新情報」をSimpleXMLで置き換えるってどういうことでしょう?
私の方でお手伝いできることがあればおっしゃってくだされ。
遠くのサーバーのメソッドが自分のマシンのメソッドのように取り扱えますので楽です。
リモートプロシージャコールって呼びかたズバリでーす。