[SOLVED] Concurrent Programming Homework1

35.00 $

Programming resource
Digital learning resource
✓ Practical programming resource
✓ Suitable for guided study and reference
✓ Tutor guidance available when needed

Description

5/5 - (1 vote)

Write a program that measure the time to transfer various amount of data (500MB, 1GB (1.5 milion of WhatsApp messages, 4000 photos, 10.000 emails or reuse a large buffer)) under various conditions (Make sure you are sending bytes. Do not use higher-level functions that assume you are writing strings.)
Requirements for implementation:
A) Supported protocols as parameters (for both client/server): UDP, TCP
B) Message size: 1 to 65535 bytes
C) Two mechanisms should be implemented: streaming and stop-and-wait (acknowledge is performed before the sending of the next message)

Requirements for output:
A) After each server session, the server will print: used protocol, number of messages read, number of bytes reads
B) At the end of execution, the client will print: transmission time, number of sent messages, number of bytes sent.
Language: you can use any language for implementation. The program must run on a Linux system.
Evaluation:
• Client/Server Code
• A pdf/word/plain text document with details regarding options for client/server and with statistics regarding performed tests.
Hint: Your system architecture can have a two-tier architecture or a multi-tier one. (e.g. a middle tier can perform queuing/scheduling of clients request, connection management, traffic monitoring, connection to a back-end database et.al.)

Resource details

Understand the Task Before You Use the Resource

Review the requirements, identify the programming concepts involved, study the implementation and test your understanding with your own examples and modifications.