[SOLVED] NetworkProgramming Homework 1 - Bulletin Board System

30.00 $

Category:
Click Category Button to View Your Next Assignment | Homework

You will receive the following solution file(s) instantly after successful payment:

zip file icon Lab1-exik5f.zip (196 KB)
Assignment Instructions Updated Recently? Submit Below and we will provide new Solution!
Submit New Instructions
🔒 Securely Powered by:
Secure Checkout
Rate this product

Homework 1 – Bulletin Board System: Part 1

Description

In this project, you are asked to design Bulletin Board System (BBS) server. Your program should be able to handle multiple connections and receive user command from standard input. After receiving command, the server send the corresponding message back.
Requirement

The service accepts the following commands and at least 10 clients:
When client enter command incompletely E.g., missing parameters, the server should show command format for client.

Command format
register <username> <email> <password>

login <username> <password>

logout

whoami

exit

Description
Register with username, email

and password.
<username> must be unique. <email> and <password> have no limitation.
If username is already used, show failed message, otherwise it is success.
Login with username and password.
Fail(1): User already login. Fail(2): Username or password is incorrect.

Logout account.
If login not yet, show failed message, otherwise logout successfully.
Show your username.
If login not yet, show failed message, otherwise show username.
Close connection.

Success

Success Fail (1) Fail (2)

Success

Success

Result Register successfully.

Welcome, <username>. Please logout first. Login failed.

Bye, <username>.

<username>.

Fail

Username is already used.

Fail

Please login first.

Fail

Please login first.

General
Please make sure you develop your program on Linux. For development environment, you can just apply NCTU CSCC

account to use Linux workstation. If you don’t want to apply anything, you can use VM for develop. Use ‘’% “ as the command line prompt. Notice that there is only one space after the prompt.

The server close connection if client use exit command, but server still running and client can connect again.
For manage user information, storing data in your server is necessary. Therefore, you must have some methods to handle this,

like manage a simple database e.g. SQLite and then design tables by yourself or only use data structure to store data.

To run your server, you must to provide port number for your program. E.g., bash$ ./server 7890
Now, you can use telnet or other client program to connect your server, when client connect to server, the server print message “New connection.”
Assume your server is running on localhost and listening at port 7890. E.g., bash$ telnet 127.0.0.1 7890

Scenario

******************************** ** Welcome to the BBS server. ** ******************************** % register

Usage: register <username> <email> <password> % register Bob [email protected] 123456
Register successfully.
% register Bob [email protected] 123456 Username is already used.

% login
Usage: login <username> <password> % login Bob
Usage: login <username> <password> % login Bob 654321
Login failed.
% login Tom 654321
Login failed.
% login Bob 123456
Welcome, Bob.
% login Bob 123456
Please logout first.
% whoami
Bob
% logout
Bye, Bob.
% logout
Please login first.
% whoami
Please login first.
% exit

1 file · 196.0 KB

  • Lab1-exik5f.zip 196.0 KB