Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Write in Python3. #python #tcp #socketprogramming In this assignment, you will implement the core functionalities of a messaging application. No need to submit any written

Write in Python3. #python #tcp #socketprogramming

In this assignment, you will implement the core functionalities of a messaging application. No need to submit any written report. Instead, you must demonstrate your programs to our course assistants and submit your source code.

Mandatory Requirements

1) Message delivery: Please implement a service that allows any two clients to send messages to each other. One client should be able to send messages to multiple clients and to receive messages from multiple clients. For example, if there are 3 clients, A, B and C, Client A can send a message to either B or C, and can receive messages from either B or C. Make sure the messages can be delivered to the right receivers, and correctly displayed on both the sender and receiver sides.

The sender will be notified if the messages have been sent successfully or not. Accept requests from both IPv4 and IPv6 clients.

It is not required to implement graphical user interface. Implement the service using TCP socket. There are two ways to implement the service. You can choose to implement the server in either way described below.

a) Every message is sent to the server and then forwarded to the receiver. This is recommended as it makes totally asynchronous communication (in which 2 communicating clients are never online at the same time) easy to implement and to maintain.

b) Every message is sent directly from one client to another. In this case, the sender needs to query the network address of the receiver.

2) Group Chat: The client which creates a group is the owner of the group and has the rights to rename the group and to manage the member list. Any client within a group can send one message simultaneously to the whole group. The receivers within a group can see the sender and the group name of any received message. See an example of broadcast in https://www.youtube.com/watch?v=3UOyky9sEQY .

3) Offline messages: The sender is informed if the receiver is offline. The sender can see when a receiver last was online. The server can buffer and forward the messages to the receiver when the receiver gets connected again. The sender can see if the receiver has read his/her message.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Design Application Development And Administration

Authors: Michael V. Mannino

4th Edition

0615231047, 978-0615231044

More Books

Students also viewed these Databases questions

Question

Find the derivative of y= cos cos (x + 2x)

Answered: 1 week ago