2

zerorpcサーバーで異なるセッションまたはローカル状態を維持するにはどうすればよいですか?

たとえば (以下)、複数のクライアントがある場合、後続のクライアントはモデルの状態を上書きします。各クライアントが ID を持っていることを考えました。RPC ロジックはそのように変数を分離しようとしますが、tbis は面倒なようで、クライアントが切断されたら古い状態/変数をどのようにクリアしますか?

サーバ

import zerorpc
import FileLoader

class MyRPC(object):
    def load(self, myFile):
        self.model = FileLoader.load(myFile)
    def getModelName(self):
        return self.model.name

s = zerorpc.Server(MyRPC())
s.bind("tcp://0.0.0.0:4242")
s.run()

クライアント 1

import zerorpc

c = zerorpc.Client()
c.connect("tcp://127.0.0.1:4242")
c.load("file1")
print c.getModelName()

クライアント 2

import zerorpc

c = zerorpc.Client()
c.connect("tcp://127.0.0.1:4242")
c.load("file2") # AAAHH! The previously loaded model gets overwritten here! 
print c.getModelName()
4

1 に答える 1