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()