Presentation is loading. Please wait.

Presentation is loading. Please wait.

Project 1 Simple Socket Client.

Similar presentations


Presentation on theme: "Project 1 Simple Socket Client."— Presentation transcript:

1 Project 1 Simple Socket Client

2 Goals Write a simple TCP/IP client that supports a specific protocol
The server is running right now on login-faculty.ccs.neu.edu:27993 If your program is correct, the server will send you a secret flag Turn in your code and the secret flag in order to receive full credit DUE: September 16, 11:59:59 PM

3 Your Program Can be written in whatever language you want
Must compile on the CCIS Linux machines and run on the command line Don’t use crazy libraries that aren’t installed by default Don’t write a program with a GUI If you use an IDE, make sure your code doesn’t have any hidden dependencies

4 Command Line Syntax $ ./client <-p port> <-s> [hostname] [NEU ID] Your client must follow this syntax exactly Hostname – the name of the server E.g. login-faculty.ccs.neu.edu Port – Optional parameter, the port the server is listening on By default, port is 27993 Secure – Optional parameter, indicates that the client should use an SSL encrypted socket NEU ID – your NEU ID

5 The Protocol (Part 1) 4 messages Your client begins by sending HELLO
HELLO, STATUS, SOLUTION, and BYE Your client begins by sending HELLO cs3700fall2016 HELLO [your NEU ID]\n The server will respond with a STATUS cs3700fall2016 STATUS [an equation]\n The equation will be a simple math problem E.g. “5 + 10” or “32 * 509” or “2391 / 93”

6 The Protocol (Part 2) Your client returns a SOLUTION message
cs3700fall2016 [the solution]\n The server may respond with another STATUS, or it may respond with BYE cs3700fall2016 BYE [secret flag]\n The secret flag is what you want :)

7 Turning In Your Project
Register your group All group members must run the script! Create a directory for your files All of your (well documented) code Makefile README secret_flags (a file with the secret flags of the group members, one per line) Run the turn-in script

8 Grading 4% of your total grade To receive full credit:
Turn in working code that compiles/runs successfully Turn in the secret flags of all group members If your code doesn’t compile or doesn’t run, you get zero credit All code will be scanned by plagiarism detection software

9 Common Issues “Do I need a Makefile if my code is in <some non-compiled scripting language>?” YES, but it can be empty “I’m working from home and I cannot connect to the server!” Sadly, the university firewall blocks all traffic on non-standard ports You have two options: SSH into a CCIS machine and run your code from there Use the Northeastern VPN to bypass the firewall

10 Extra Credit Possible to get 0.5% extra credit (4.5% total)
Augment your client to support SSL sockets The protocol is exactly the same, its just encrypted with SSL If your SSL client is successful, you will get another secret flag Put these new keys in the secret_flags file The SSL server is running on the same host, port 27994 Warning: Java’s SSL implementation is awful


Download ppt "Project 1 Simple Socket Client."

Similar presentations


Ads by Google