[Fiware-miwi] Initial Synchronization GE code

Jonne Nauha jonne at adminotech.com
Sat Oct 26 16:13:07 CEST 2013


I would recommend making a HttpServerPlugin that can be used from code by
other modules to start listening to spesific ports and register handlers to
those server instances. This will be much more flexible and more probably
more performant than doing it via the websocketpp that is not intended for
heavy http traffic. We should let that library and port focus on processing
the websocket networking.

As the Tundra core heavily utilized Qt, QObject and the signal/slot
mechanism I recommend using this library
https://github.com/nikhilm/qhttpserver. I've found it to be the best thing
out there currently made with Qt. I've used this to prototype Cloud
Rendering GE stuff and I even contributes some code and stuff to fix some
bugs :) Using some low level lib and implementing the http stuff on top of
it would not be worth it, huge overhead to implement it, then wrap all this
inside a Qt style API for Tundra. Other option is to pick up a C/C++
library for a http server like https://code.google.com/p/mongoose/. I tried
that also and it was a mess to integrate cleanly to the Qt system. Imo the
best option is to use Qt networking (QTcpSocket) and thats what the qt
library there does. It may not be the best thing out there in terms of
performance and handling huge amount of HTTP calls (eg. hundreds/thousands
per sec) but it is perfect for implementing API style HTTP server that is
not intended to server files from disk, if you need that then you might
want to go with mongoose or similar.

Just my 2 cents. Good work porting the websocketpp to 0.3.x! I'll give it a
spin with WebRocket at some point and see if anything critical is broken :)

Best regards,
Jonne Nauha
Meshmoon developer at Adminotech Ltd.
www.meshmoon.com


On Fri, Oct 25, 2013 at 5:48 PM, "Lasse Öörni" <lasse.oorni at ludocraft.com>wrote:

> Hi,
> the initial code for both the server (realXtend Tundra plugin) and client
> (JavaScript) parts of the Synchronization GE has been pushed to GitHub. It
> will naturally be subject to heavy refactoring.
>
> Server:
>
> https://github.com/realXtend/naali/tree/tundra2/src/Application/WebSocketServerModule
>
> Client:
> https://github.com/realXtend/WebTundraNetworking
>
> The WebSocket server's initial code was contributed to open source by
> Adminotech, thanks to them!
>
> The SceneAPI part of the GE will likely become another Tundra plugin. For
> that, a http server functionality is required. This can be realized with
> the same websocketpp library that the WebSocket server already uses.
>
> --
> Lasse Öörni
> Game Programmer
> LudoCraft Ltd.
>
>
> _______________________________________________
> Fiware-miwi mailing list
> Fiware-miwi at lists.fi-ware.eu
> https://lists.fi-ware.eu/listinfo/fiware-miwi
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.fiware.org/private/fiware-miwi/attachments/20131026/be96e010/attachment.html>


More information about the Fiware-miwi mailing list

You can get more information about our cookies and privacy policies clicking on the following links: Privacy policy   Cookies policy