Multi-threaded HTTP server library for Android devices
AndroidHTTPServer is a multi-threaded HTTP web server library for Android devices, including smart phones and tablets. It is designed to be “dropped-in” to new or existing apps to rapidly add HTTP handling capabilities, and offers a flexible plugin architecture to allow apps to create their own custom HTTP serving capabilities – for example processing custom file types or handling unique programmatic responses such as reading the device’s GPS or accelerometer sensors and responding with something interesting.
Currently there are two parts of the AndroidHTTPServer project – the library project itself and the GUI project. The library project is a standard Android Library project which can be included in normal Android apps. The GUI project is an example of a normal Android app utilising the Android HTTP Server library, and demonstrates how to control the server via on-screen buttons etc and is shown in the above screen shot.
Currently Android HTTP Server is in an early state of development and should not be considered ready for “prime time”. However, as it currently stands it is able to stand-up to fairly vigorous multi-threaded benchmarking. Early testing using JMeter indicates that when running on a standard HTC Wildfire (single-core MSM7225 528MHz) device running Android 2.2.1 it can serve a small test page at approximately 700 requests/min when debugging and approximately 2000 requests/min when not debugging (based on 10 simultaneous JMeter threads – please check Test Plan.jmx for exact settings).
The GUI uses icons from the Tango Project (http://tango-project.org/) which have been placed in the public domain.