If some one has the same issue. Refer to this issue #154
<https://github.com/tomerfiliba/rpyc/issues/154>
On Monday, June 4, 2018 at 2:16:42 PM UTC+5, Hamza Anis wrote:
>
> 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.