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)