unel
Июль 2, 2009 12:50:03
необходимо выполнить следующие действия:
0. (клиент)
запросить у сервера ссылку на объект класса X
link = server.get(“X”)
1. (сервер)
создать объект класса X, ссылку на него и отослать клиенту
obj_x = X()
link_x = obj_x
self.sendToClient(clientID, link_x)
2. (клиент)
получив ссылку на объект, вызвать какую-либо функцию в этой ссылке
link.doSomething()
3. (сервер)
выполнить функцию в объекте, вызов которой произошёл на стороне клиента и вернуть клиенту результат
result = obj_x.doSomething()
self.sendToClient(cientID, result)
есть ли готовые библиотеки для реализации данных операций? или всё прийдётся писать самому?
если всё же самому, то как лучше это организовать?
evgenyl
Июль 2, 2009 13:12:17
Под линуксом в пределах одной машины есть шина D-BUS очень производительная с эвентами, с такими возможностями.
Технологий много, у всех свои плюсы и минусы, SOAP например, поищи в гугле RPC.
evgenyl
Июль 2, 2009 13:14:20
хотя имхо самому делать не дольше чем разобраться в любой из подобных либ :)
PooH
Июль 2, 2009 13:24:47
Наверно самый простой вариант
PyRO
Viper
Июль 2, 2009 13:29:07
slivlen
Июль 3, 2009 11:09:56
evgenyl
хотя имхо самому делать не дольше чем разобраться в любой из подобных либ smile
А ты случайно программированием на пыхе не увлекаешся? =)
Сильно сомневаюсь, технологии типа SOAP и CORBA годами разрабатывались. И прежде чем делать свой велосипед, все равно придется изучить хотябы некоторые реализации rpc.
evgenyl
Июль 3, 2009 11:33:12
Не увлекаюсь, но пишу по работе, очень крупный проект, отвратительный язык, не стоит колечить себе мозг :)
Для его задачи, тут нет ничего сложного, вы просто недооцениваете свои силы…
У SOAP и CORBA только один плюс это возможность обращаться к сервисам с гетерогенных языков, захотел на C захотел на делфи, в имхо остальном одни минусы.
slivlen
Июль 3, 2009 13:06:17
evgenyl
Для его задачи, тут нет ничего сложного, вы просто недооцениваете свои силы…
Если этим протоколом он будет пользоваться только сам, то возможно да.