
Simon Pickles wrote:
Hi,
I thought I was following the doc 'Passing Complex Types' but am still getting unsecure Jellies.
I've got a file, imported by both pb.Client and pb.Server:
#------------------------------------------------ #jellyable.gameObject.py
class GameObject: # full of stuff pass
class PortableGameObject(GameObject, pb.Copyable): pass
class GameObjectReceiver(GameObject, pb.RemoteCopy): pass
pb.setUnjellyableForClass(PortableGameObject, GameObjectReceiver)
#------------------------------------------------
The client is trying to send an instance of a PortableGameObject thru PB, but the server spits out:
twisted.spread.jelly.InsecureJelly: Module jellyable.gameObject not allowed (in type jellyable.gameObject.PortableGameObject).
Why does it refer to 'Module jellyable.gameObject'? I know I am sending this thru the pipe:
Sat Apr 26 20:06:57 2008 - BROKER: Do Remote Call - target: None, msg: OBJECT_CHANGESECTOR, data: (<jellyable.gameObject.PortableGameObject instance at 0x87bab4c>,)
I remember reading that it is crucial to get the naming right on send and receive. How have I got it wrong?
Thanks
Simon
Okay, well I think my first issue was I wasn't importing jellyable.gameObject into the server. After doing this, I now get this slightly vague error: twisted.spread.jelly.InsecureJelly: method I think this may be because GameObject is a compound class, including instance of Mobile, Selectable, Intelligent and Container component classes. Is it possible to send Compound classes? or should I distil my GameObject for transportation? (i'd rather not, obviously!) Thanks Si -- http://www.squirtual-reality.com -------------------------------- Linux user #458601 - http://counter.li.org.