Do someone know what's the problem here. Why object is changing to netref?
On Tuesday, November 17, 2015 at 6:40:18 AM UTC+5, Enrique Soto Mendoza
wrote:
>
> Hi baco,
>
> I'm stucked in the same issue. Did you overcome it?
> Thanks
>
> El jueves, 28 de junio de 2012, 2:46:13 (UTC-5), baco escribió:
>>
>> Hi Tomer,
>> I rewrite some code to show the problem, I described below:
>> -s1.py : the service server to get array info asked by client.py
>> -s2.py: the gui: show information send by client.py
>> -client.py: get information from any device/source info, compile and use
>> an remote GUI to show info
>>
>> Again, the aim of this project is to get infos from devices servers,
>> compile info in client.py then send infos to some gui server.
>>
>> Clearly this example have no sense, but only show the error about the
>> access to the method tostring().
>> Hope it helps !
>>
>> ####s1.py
>> '''
>> Server 1 : serve an array
>> '''
>> import rpyc,sys
>> from rpyc.utils.server import ThreadedServer
>> import numpy as np
>>
>> class ArrayService(rpyc.Service):
>> def exposed_GetArray(self):
>> array=np.array([[1,2,3],[4,5,6]])
>> return array
>> if __name__ == "__main__":
>> if len(sys.argv)==2: port = int(sys.argv[1])
>> else: port = 2222
>> server = ThreadedServer(ArrayService, port =
>> port,hostname="localhost",protocol_config={'allow_all_attrs':True})
>> server.start()
>>
>>
>> ####s2.py
>> '''
>> Server 2 Gui for Array
>> '''
>> import rpyc,sys
>> from rpyc.utils.server import ThreadedServer
>> #import numpy as np
>> import numpy as np
>>
>> class WatchService(rpyc.Service):
>> def exposed_ShowArray(self,array):
>> print array.tostring() #it fails!
>> return True
>> if __name__ == "__main__":
>> if len(sys.argv)==2: port = int(sys.argv[1])
>> else: port = 2223
>> server = ThreadedServer(WatchService, port =
>> port,hostname="localhost",protocol_config={'allow_all_attrs':True})
>> server.start()
>>
>>
>> #####client.py
>> # -*- coding: UTF-8 -*-
>> '''
>> Client get from Server1 (s1.py) to Server2 (s2.py)
>> '''
>> import rpyc,time,subprocess,os,signal
>>
>> proc=[]
>> proc.append(subprocess.Popen(r"python .\s1.py "+str(2222), bufsize=-1,
>> creationflags = subprocess.CREATE_NEW_CONSOLE).pid)
>> proc.append(subprocess.Popen(r"python .\s2.py "+str(2223), bufsize=-1,
>> creationflags = subprocess.CREATE_NEW_CONSOLE).pid)
>> time.sleep(1)
>> Server1=rpyc.connect("localhost",2222)
>> Server2=rpyc.connect("localhost",2223)
>>
>> array=Server1.root.GetArray()
>> print array.tostring() #it works!
>> Server2.root.ShowArray(array)
>> for i in range(len(proc)):
>> time.sleep(0.1)
>> print "kill ",proc[i],' ',os.kill(proc[i],signal.SIGTERM )==None
>>
>>
>>
>> regards,
>> -damien
>>
>> Le lundi 25 juin 2012 17:54:15 UTC+2, Tomer Filiba a écrit :
>>>
>>> you'd have to provide a code snippet that reconstructs the problem.
>>>
>>> but if ultimately need to copy the ndarray from one process to another
>>> (passing it by value),
>>> you can use obtains. see
>>> http://rpyc.sourceforge.net/api/utils_classic.html#rpyc.utils.classic.obtain
>>>
>>> -----------------------------------------------------------------
>>>
>>> *Tomer Filiba*
>>> tomerfiliba.com <http://www.facebook.com/tomerfiliba>
>>> <http://il.linkedin.com/in/tomerfiliba>
>>>
>>>
>>>
>>> On Mon, Jun 25, 2012 at 3:35 PM, baco <damien> wrote:
>>>
>>>> Hi all,
>>>> I have a <netref class 'numpy.ndarray'> object (server side) and I
>>>> can't access to any of method (in particular the .tostring()).
>>>> Data from this object is ok, but need to have the 'real' numpy.ndarray
>>>> from my client, to use it.
>>>> thanks for help
>>>> -baco
>>>>
>>>
>>>
--
---
You received this message because you are subscribed to the Google Groups
"rpyc" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.