Assignment
Provide code, WireShark and Tomcat screenshot captures, at least one page to report your results for each exercise.
1. Create a REST/SOAP web service that returns a requested content. The content could be json, xml, png, jpeg and mpeg files (the ones that you used/acquired for the above assignment). Create an android app that consumes such web service. Estimate the bandwidth and the latency associated with the each download using Wireshark or Androids network monitor. Tabulate the results. Identify the MIME Type and the original file size of the resource that was downloaded.
Run the above experiment but this time configure the web server to use compression and thus note gains in bandwidth and download latency assuming that the network conditions did not change much.
2. Create an Android based TCP socket client that connects to Tomcat (or any other TCP server on a desktop) and downloads a large file. The received file could simply be discarded. Study the impact of the receive buffer size on the throughput and latency of the download. In other words request that the receive buffer size to be 4K, 8K, 16K, 32K and 64K respectively, and run the client to download the same large file approx. 5MB. Tabulate the throughput and latency of the download and the corresponding receive buffer size
TCP Code
String response = "";
try{
Socket s = new Socket();
s.connect(new InetSocketAddress(“10.0.2.2â€, 8088));
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
String str = "";
while ((str = br.readLine()) != null) {
response = response + str;
}
br.close();
s.close();
} catch (Exception e) {
e.printStackTrace();
}
3. Investigate the support for IGMP and multicasting on android platforms by creating a multicast sender and receiver within your local area network. Use android as a host for the multicast sender and the receiver either at the same or alternately depending upon whether you have access to two android phones. Capture the IGMP messages and one or more multicast packets. Explain the contents of the IGMP messages and verify that the multicast addressing is correctly delivering the packets to the right destination within the context of your network.
4. Evaluate the impact of network conditions such as RSSI on the throughput of a TCP connection. Reuse the test bed of Assignment III. This time keep the TCP receive buffer fixed to an optimum size but measure the download latency as a function of the RSSI. Move the phone to different locations to achieve a different RSSI for each download. You can use Android's WiFi Manager or Telephony Manager to get measures of channel conditions such as RSSI.
5. Graphics and Animation
(a) Create an application that demonstrates the use of property animation for animating an image view e.g. rotating, translating or transforming the image.
(b) Redevelop the above animation but this time utilizes a canvas to draw the animation.
(c) Repeat the above animation but now draw the animation on a surface view.
(d) Comment on relative benefits and drawbacks of the three approaches along with other Views that are available in Android including Texture View and Open GL View.
Q2. Using blender or Unity create a 3D scene with at least one object, 2 light sources and 2 cameras. Import the graphics files in an android application. Animate the scene by periodically or at random times changing the light intensity, light sources, camera angle, camera, and performing transformation of the object. Min3D is a tool commonly used for importing Blender files in Android.
6. Configure Tomcat or any other web server of your choice to use SSL. Access a web application/service offered by this web server over SSL using HttpsUrlConnection from an Android Activity/Service. Capture the SSL handshake via wireshark.