We need to design a solution, on which clients (written as AIR apps) and controller boxes (embedded controlers coded in C) connect to a central Web based Service. All of them will authenticate against that service. Dependent on their configured group memberships, they can communicate with other members of their group. Clients will send data to controller boxes, controller boxes will answer.
We would like to use websockets technology with long poll for this, communication is to be secured by SSL and some additional authentication steps. No need for formal websocket implementation but to follow the ideas used there. Use of long poll is needed as both controllers and clients can be behind NAT devices and only service reachable directly is the central Server to be developed by you.
Implementation is to be done in a way that
- it will run on LINUX Server (Ubuntu [url removed, login to view] LTS)
- can scale up to at least [url removed, login to view] concurrent connections (all low traffic)
- uses php, python or c as programming language (in that preference)
- uses Non-Blocking API for implementation
Implementation is needed for the Server at production grade. A test client should be developed at POC / Draft quality. Test client is needed for Server tests and as reference for programers who'll have to implement the code in the controller boxes.
First project phase is to draft a POC Design. No need for SSL and authentication at this stage, just the pure websocket. That one is to be implemented asap.
Next step is to implement SSL and the additional authentication. Also logging to text and a database needs to be done at this stage. More time is available at this stage.
All source code needs to be documented.
We are looking for the right project partner at this stage and want to kick off the POC with you asap. We'll go into detailed design together with you then, to decide on the implementation approach for the final solution.