You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

3.2 KiB

Functional

Try running "./TCPChat".
Is the server listening for connections on the default port?
Try running "./TCPChat" 2525 localhost.
[USAGE]: ./TCPChat $port
Did the server respond with usage, as above?
Try running "./TCPChat 2525".
Is the server listening for connections on the port 2525?
Try opening 3 terminals, run on the first terminal the command "./TCPChat <port>" and on the second and third terminal run the command "nc <host ip> <port>".
Do both clients connect to the server with success?
Try creating a server and 2 Clients.
Did the server respond with a linux logo and ask for the name?
Try creating a server and 2 Clients.
Do all Clients receive a message informing them that the Client joined the chat?
Try creating a server and 2 Clients and send a message using the first Client.
Does the second Client receive the message?
Try creating a server and 1 Client and send some messages using this Client. Then create a new Client.
Can the new Client see all the previous messages?
Try creating a server and 3 Clients and send a message using the second Client.
Did all the Clients (first, second and third) received the same message?
Try creating a server and use 2 or 3 different computers and create one Client for each computer.
Did the server/Clients connect with success?
Try creating a server and 4 Clients and disconnect one of the Clients.
Do the rest of the Clients stay connected?
Try creating a server and 3 Clients and disconnect one of the Clients.
Do the rest of the Clients receive a message notifying that the Client left?
Try creating a server and 3 Clients. Then send messages between the Clients.
[2020-01-20 15:48:41][client.name]:[client.message]
Are the messages identified by the name of each Client and the time that the messages were sent, as above?
Are the connections between server and Clients well established?
Does the project present go routines?
Does the project use channels or mutexes?
Are the students using only the allowed packages?
As an auditor, is this project up to every standard? If not, why are you failing the project?(Empty Work, Incomplete Work, Invalid compilation, Cheating, Crashing, Leaks)

General

+Can the Clients change their names?
+Is the chat group informed if a Client changes his name?
+Does the server produce logs about Clients activities?
+Are the server logs saved into a file?
+Is there more NetCat flags implemented?
+Does the project present a Terminal UI using JUST this package : https://github.com/jroimartin/gocui?

Basic

+Does the project runs quickly and effectively? (Favoring recursive, no unnecessary data requests, etc...)
+Does the code obey the good practices?
+Is there a test file for this code?

Social

+Did you learn anything from this project?
+Can it be open-sourced / be used for other sources?
+Would you recommend/nominate this program as an example for the rest of the school?