次のサーバーを実行しています。
class ThasherProtocol(basic.LineReceiver):
def lineReceived(self, line):
dic = simplejson.loads( line)
ret = self.factory.d[ dic['method'] ]( dic['args'] )
self.transport.write( simplejson.dumps( ret) )
self.transport.loseConnection()
class ThasherFactory(ServerFactory):
protocol = ThasherProtocol
def __init__(self):
self.thasher = Thasher()
self.d= {
'getHash': self.thasher.getHash,
'sellHash' : self.thasher.sellHash
}
reactor.listenUNIX( c.LOCATION_THASHER, ThasherFactory() )
reactor.run()
特定のファイルから「getHash」と呼ばれる特別な関数をインポートする複数のファイルがあります。getHash の引数は、テキスト (文字列) の辞書のみになることに注意してください。単純なクライアント関数 (getHash) を作成するにはどうすればよいですか。
from particular file import getHash
i = getHash( { 'type':'url', 'url':'http://www.stackoverflow.com' } )
私がやりたいことは、1) dict を json にダンプすること、2) その json を特定のソケットにダンプすること、3) それが戻ってくるのを待って json をアンパックすることだけです。