トップ 一覧 Farm 検索 ヘルプ RSS ログイン

Diary/2019-7-10の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!〆め作業
とあるタスクの〆め.
依頼してた分の動作を確認して不足データの追加をお願いしたり,
追加スクリプトをちょっと書いたり.

!MsgpackRPCで遊ぶ

サーバー側で値を保持しとく,とか,Numpyデータやりとりしてみる,とか.

::サーバ側
 from gevent.server import StreamServer
 from mprpc import RPCServer
 import numpy
 
 class SumServer(RPCServer):
         def __init__(self):
                 super(SumServer, self).__init__()
                 self.sum_value = 0
 
         def sum(self, x, y):
                 return x + y
 
         def acc(self, x):
                 self.sum_value = self.sum_value + x
                 return self.sum_value
         
         def numpy_test(self, x):
                 a = numpy.frombuffer(x, dtype='int')
                 a = a + 3
                 return a.tobytes()
         
 server = StreamServer(('127.0.0.1', 6000), SumServer())
 server.serve_forever()

::クライアント側
 from mprpc import RPCClient
 import numpy
 
 client = RPCClient('127.0.0.1', 6000)
 print(client.call('sum', 1, 2))
 print(client.call('acc', 10))
 print(client.call('acc', 20))
 print(client.call('acc', 40))
 a = numpy.array([1,2,3])
 b = numpy.frombuffer(client.call('numpy_test', a.tobytes()), dtype='int')
 print(b)