2
如何使用我的zerorpc服务器维护不同的会话或本地状态?例如(如下),如果我有多个客户端,后续客户端将覆盖模型状态。我想过每个客户端都有一个ID,RPC逻辑会试图以这种方式分离变量,但是tbis似乎很混乱,一旦客户端断开连接,我将如何清除旧状态/变量?与zerorpc保持会话
服务器
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()
我真的希望这个问题得到了妥善的回答。似乎没有简单的方法来访问底层的zeromq会话,这可能有助于维护每个会话的附加状态。也许好的会话令牌将不得不完成这项工作。 –