Re: [K3d-development] IPC between K3ds
Brought to you by:
barche
From: Timothy M. S. <ts...@k-...> - 2007-01-05 04:22:28
|
On Thu, 2007-01-04 at 13:07 -0300, Joaqu=EDn Duo wrote: > I am trying to make IPC between two k3d instances, and i was searching > opinions and ideas. > The main idea is adding the capability of linking to a node of another > k3d instance. (I suppose this is not done yet :) ) Currently, there are four different user interface plugins in CVS: NGUI - "Next Generation User Interface" - the standard GTK+ based GUI. QTUI - "Qt User Interface" - a toy GUI based on the Qt toolkit. NUI - "Null User Interface" - a do-nothing UI that is useful when running scripts that don't require user interaction. PYUI - "Python User Interface" - a Python command-line interface that can be used to explore the Python object model interactively. The main observation to make is that UI plugins are K-3D's interface to the outside world, but they aren't limited to *human* interaction. So the correct way to approach this is to create a specialized user interface plugin that implements whichever protocol suits you. Writing a UI plugin that opens a socket and listens for commands would be trivial; the hard part would be designing the protocol. XML-RPC would be a good start from a standards perspective. Verse might be interesting, too, I'm just not familiar with it. As an experiment to get started, I'd recommend using netcat in combination with the PYUI to create a K-3D "server". You could then have an application that connects to the server over a socket, and use the Python object model to execute commands and retrieve results. That way, you don't have to develop a protocol at all, and you can start to develop a feel for further requirements. Cheers, Tim |