In C++ Build a personal weekly schedule manager In this programming assignment,
ID: 3805322 • Letter: I
Question
In C++ Build a personal weekly schedule manager
In this programming assignment, you are going to build a simple on-line personal weekly schedule manager.
You need to implement the protocol, and write a client and a server that communicate using your protocol through TCP sockets. Your scheduler server should be a concurrent application server that handles different scheduler clients at the same time. Your scheduler protocol should be able to allow the following functionalities:
• Add a user
• Delete a user
• Modify user information: Name, password, contact phone number, and email address
• User login authentication with user name and password
• Add a new appointment
• Remove an appointment
• Update an existing appointment
• Check a user’s appointment time conflict
• Display a user’s the appointment for a specific time or a time range
• Proper exception handling
• NOTE: Assume your calendar server does not allow multiple logins with same
user id (user name) at simultaneously.
• All connections between a server and clients should be TCP/IP socket.
• A server and client should run on different machines.
Explanation / Answer
Introduction
This article is the second of a multi-part series that will cover the architecture and implementation of components needed to create and maintain a robust, scalable, high performance, massive multiplayer online game server and game engine.
The first article of the series focused on building a Scheduling Engine to drive organized, real-time change in a virtual world. This article focuses on the design and implementation of a TCP/IP communication component, designed to efficiently handle communications between the game server and the remote game clients
Design and Implementation
For the sake of article length, I'm going to jump right into the design and implementation. The class OutgoingConnection is used by the game client to establish an outgoing connection to the game server. When the connection is accepted, the game server creates an instance of the class IncomingConnection to communicate with the connected client.
Both OutgoingConnection and IncomingConnection inherit from the common base class, ConnectionBase. This base class provides communication-related functions (i.e., sending and receiving data) that are common to both incoming and outgoing connections.
The interface ICommunicationsBase is implemented by both incoming and outgoing connections. Elements common to both incoming and outgoing connections include:
(The interface also inherits from ITrackBytes, which tracks bytes sent and received for diagnostic purposes.)
Hide Copy Code