Здравствуйте, жители стекового пространства! Я хочу изучить/поработать над обслуживанием объектов с помощью метода удаленного общего объекта
class ContainerFS():
#contains stuffs, has its methods
def sync(self):
pass
def dump(self):
stuff()
class DataManager(BaseManager):
def get_data(self):
pass
class DataProcess(Process):
def __init__(self, serverobj, authkey, public=False, port=11111):
Process.__init__(self)
self.authkey = authkey
self.Obj = serverobj
self.daemon = True
self.port = port
self.addr = '127.0.0.1'
if public:
self.addr = '0.0.0.0'
def run(self):
DataManager.register('get_data',
callable=lambda: self.Obj)
manager = DataManager(
address=(self.addr, self.port),
authkey=self.authkey)
srv = datamgr.get_server()
srv.serve_forever()
Класс ContainerFS задается в качестве аргумента для serverobj. Затем он передает данные клиентам через сокет.
клиент пока работает так:
class DataClient(object):
def __init__(self):
pass
def create(self, authkey):
try:
DataManager.register('get_data')
self.m = DataManager(address=('127.0.0.1', 11111), authkey=authkey)
return True
except:
return False
def connect(self):
try:
self.m.connect()
q = self.m.get_data()
return q
except:
return False
Учитывая, что можно совместно использовать произвольный объект Python и таким образом получать доступ к его методам, может быть МНОГО интересных вещей, исходящих из плодородной почвы SO. Так что, если у вас есть хорошие идеи, пожалуйста, смешайте их.
Я попытался создать подкласс SocketServer и заставить его обрабатывать SSL таким образом, но мне не удалось это сделать. Как я могу использовать ленивый SSL с этой штукой? Если SSL не вариант, может ли использование магии socks для переадресации портов ssh быть достаточной альтернативой?
Могу ли я утверждать, что вызов метода serverobj каким-то образом действителен. Если да, куда мне обратиться: DataProcess, DataManager или serverobj?
Все еще занимаюсь этим, толком не разбираясь. Например, как я могу использовать этот DataManager, когда он пуст?
Я чувствую, что раскрытие объекта python таким образом действительно небезопасно. Так что мне следует воздержаться от создания собственной самодельной «безопасности». Мне нравится утверждать Ложь в своих мыслях для проверки путем уточнения. Вот где я надеюсь, что вы придете.
Если я неясен или, кажется, не вижу смысла, пожалуйста, укажите это. Я еще новичок во всем..