Further update: I just checked in the NodeSocket Contribution into qooxdoo-contrib:
http://qooxdoo-contrib.svn.sourceforge.net/viewvc/qooxdoo-contrib/trunk/qooxdoo-contrib/NodeSocket/trunk/ Here's a screenshot: http://qooxdoo.678.n2.nabble.com/file/n5379905/Bild_1.png If you look at the server code: http://qooxdoo-contrib.svn.sourceforge.net/viewvc/qooxdoo-contrib/trunk/qooxdoo-contrib/NodeSocket/trunk/demo/default/socket/server.js?revision=20608&view=markup and see how little code is necessary to make this work, you might understand why I am so excited about this technology. BTW, I used the new virtual list to keep up an up-to-date member list on all clients. Unfortunately, the socket.IO code uses "for( var i in array)" instead of "for ( var i=0; i< array.length; i++)" which doesn't seem to work with qooxdoo, so I had to patch the socket.io code and ship it with the contrib -- which is more comfortable for trying it out - but I don't know about the compatibility of the MIT licence with the qooxdoo licenses. Probably in the released version, the socket.io code should be downloaded separately. I don't have time to provide a public demo, so if you're interested, you'll need to download and install the demo yourself. Here's the readme: Node.js/Socket.io Wrapper ========================= This contribution wraps the Socket.IO event transport for use in qooxdoo. See http://socket.io/ Of course, you can use Socket.IO directly without this wrapper. What this contribution does is to integrate the Socket.IO events into the qooxdoo message bus so that there is a uniform message passing system that bridges the server-client gap. This also means that the underlying implementation can be easily switched without any code change. See the demo for your usual chat application. Installation: ============= - Install the node.js server as instructed at http://www.nodejs.org/ - Currently, all files from the Socket.IO project are shipped with the contrib. since they have to be slightly patched to work with qooxdoo. - If you plan to do "source" development, make a symlink to the qooxdoo sdk inside the top-level release version folder (for example, "0.1" or "trunk". The reason is that the shipped node.js-server doesn't serve files outside this folder. Run the demo: ============ - If you just want to run the demo, adapt the config.json file and point the QOOXDOO_PATH constant to the path of the qooxdoo sdk. - Run ./generate.py build in the demo/default folder - Go to demo/default/server/ and start the server with 'node server.js' - Load http://localhost:8088/demo/default/build/index.html in several browser windows. - Chat with yourself ;-) Known Issues/To Do ================== - The demo has only been tested with the latest Safari and Chrome, which both support web sockets. Is is currently not working with Firefox because of some issues with the WebSocket Flash applet. - The static file server is fast, but inefficient because it doesn't do any caching. There are several static file servers for node.js which should be integrated to make it more efficient. This is only the first step. Next is getting a JSONRPC server working. Hope you enjoy this little demo app. Cheers, Christian -- View this message in context: http://qooxdoo.678.n2.nabble.com/node-js-and-qooxdoo-tp5345772p5379905.html Sent from the qooxdoo mailing list archive at Nabble.com. ------------------------------------------------------------------------------ This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev _______________________________________________ qooxdoo-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
