Developer forums (C::B DEVELOPMENT STRICTLY!) > Plugins development

XML RPC for plugins?

(1/3) > >>

dmoore:
After a long break from CB coding, I'm planning to resume work on my Python plugin in the near future. The next step is to provide a communication path to python processes. This will allow me to offer features like symbol browsing for python code, a python interpreter as a dockable window etc. My first instinct was to try embedding python within a CB plugin. The problem is python embedding is a bit of a mess and it's very difficult to create multiple instances of the interpreter within a single process. On the python list the general recommendation is to avoid embedding and use inter process communication on one or more python process.

I've decided that it will be better to use something like XML RPC to communicate with either locally or remotely spawned Python processes. In the case of Python, XML RPC is a good choice because python provides an XML RPC library in the standard package. Presumably, using XML RPC I could create python intepreter and symbol browser servers, which would take requests over XML RPC from my CB python plugin.

Does anyone know of a good multi-platform implementation of XML RPC? Or perhaps there are better alternatives to XML RPC?

Beyond python I could see that there might be many applications of XML RPC (or related protocols) to CB plugins, especially in the embedded device world. Anyway, I'm just putting these ideas out here in case others might have some valuable input.

gvv:
Zeroc ICE
boost.asio
gSoap

dmoore:
ICE looks interesting, especially if it supports all of the platforms and languages that it claims. Do you have experience with or preferences over your suggestions, gvv?

MortenMacFly:

--- Quote from: dmoore on December 03, 2007, 03:20:48 am ---After a long break from CB coding, I'm planning to resume work on my Python plugin in the near future. The next step is to provide a communication path to python processes.

--- End quote ---
<offtopic> Hooray! :-) </offtopic>

gvv:
It depends:
1) if your decision is to buy albeit use existing software then ICE IMHO is the best, good documentation, heaps of examples, good forum and it works first time out of the box. (no build in mingw yet - i had to test it in linux,  i dont know how to use VC++)

2) if your decision is to make then boost.asio could be used as your base. (I am not sure about boost.asio and python re boost.python)

3) if you still insist on XML RPC then gSoap claims to be the fastest (not sure again about python). The only problem is documentation, you have to look under the hood  to find out what is happening.

Sorry but I am basing  my opinion in c++ not python.

Navigation

[0] Message Index

[#] Next page

Go to full version