pythonをソケットから使う
pythonをソケットから使えるようにしてみた
http://d.hatena.ne.jp/niitsuma/20080328/1242595553
使い方 概要
ソケットにjson-rpc形式の文字列を流し込むと処理結果がjson形式でかえってくる
$ echo "{\"method\": \"numpy.linalg.norm\", \"params\": [[2,2]], \"id\": 0}" | netcat localhost 31415 {"result": 2.8284271247461903, "error": null, "id": 0}
ちなみに foo.bar という関数を呼ぶと自動的にimport fooされるようになってます
使い方 詳細
ソケットをうけとるpythonのプロセスを起動する
$ python import jsonrpcdirect as JD server = JD.Server( JD.JsonRpc10(), JD.TransportTcpIp(addr=("127.0.0.1",31415), logfunc=JD.log_stdout)) server.serve()
違うターミナルに移動して
$ netcat localhost 31415 {"method": "numpy.linalg.norm", "params": [[2,2]], "id": 0}
と入力すると
{"result": 2.8284271247461903, "error": null, "id": 0}
という文字列がかえってくる
Install
simplejsonとnumpyをinstallした後
http://www2s.biglobe.ne.jp/~niitsuma/jsonrpcdirect06.tar.gz
をダウンロードして解凍
解凍したディレクトリに移動して
python setup.py install