Project name: Noron Project description: This tool implements remote object sharing (Object Oriented RPC) in Qt. >From a technical point of view, it can compare with Java RMI or similar technologies. Noron has an advanced signaling mechanism. A property change on a peer (server or client) will immediately signal a change on other peers. It can transfer every QVariant type (even QPixmap and complex types).
The Noron project is a framework that performs remote method invocation on client/server shared objects, the object-oriented equivalent of remote procedure calls (RPC). With support for direct transfer of serialized c++ types and QObject based objects. A shared object, shares properties and methods on client and server. Every property change on a peer reflect change to another one. A method-call on one peer (server/client) call same method on another peer and return result to caller. There are 3 type of shared objects: 1) Peer: this object represents a connected client and in server QList<peer> available as list of connected clients. 2) Global shared object. there is one instance of global shared object on server and every method call invoke this object. 3) Shared objects: this type can be creating and share between of some clients. In chess game example player is type (1), a game created between 2 players and some viewer is type (2) and server global object, for getting some data from server like new messages or updates is type (3) Noron can serialize and sent every type of QVariant over tcp, even QImage and other types Every method call on shared object can be return in some case to caller: - Normal method call with UI freeze - Return value to std::function - Return value to slot of object - Return value to qml function type - Call method asynchronous without value return every request sends with a key so request can send parallel. Noron check request injection with a secret key and hashing data. And also can track connection lost, after connection lost it will be auto reconnect to server and on server it will be locate on old location on before connection lost. Noron can be used for this type of apps: - Distributed application - Online games - Connection based apps (like chat applications and social networks) - 3 layer applications - ... Noron is so easy to use and for now use a tool for interface generation but in new version (not committed) use macro hack without any tool. The chat example in the repo shows simple usage of Noron. Further information is available via this git repo: https://github.com/HamedMasafi/Noron
_______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
