Lab 5 – Socket programming only
NOTE: For this lab, you will get 5 points for a valid attempt if turned in by the due date.
The main new functionality in this lab was reviewed in class.
SUMMARY
Adjust the code we did in class to pass a comma delimited string to the server you’re connected to that includes three numbers to add together separated by commas.
This lab will involve the following new features:
Socket network programming
DETAILS
These instructions will be more bare than usual since the source code from class can be used towards this. Only the new parts to the code are mentioned.
SocketManager
Ask all the following of the user:
- A port to run its server on (something like 8800 or 8888)
- An IP of another server (local computer is 127.0.0.1)
- NOTE: If running on two computers, to get the IP address of a computer, in a command prompt or powershell, simply type “ipconfig” and look for the IPV4 address or IPV6 – whichever comes first. It will probably look something like this: 192.168.0.3
- The port of that other server.
After starting up the server, it should enter a never-ending loop that does the following:
Asks the user for three numbers separated by commas. So the user would enter something like this:
4,7,22
Sends that raw text to the serverusing the SocketClient class as we did in class.
IMPORTANT: The items sent should be comma-delimited all concatenated as one string.
Software Design and Implementation Lecture 19 Socket Programming
SocketServer
When the server receives a message from a client, it should try to parse the comma-delimited message into an array.
HINT: Use the sReceivedMessage.split(“,”) to get a String array of the comma-delimited items.
Then turn each array string into three int variables.
Use Integer.parseInt() to do this on each item in the array.
Then sum these numbers into a result.
- Reply with the sum of these numbers.
SocketClient
This is the same as we did in class.
TESTING YOUR CODE with two instances of your app.
Simply look at the “Testing Your Code” section in the Project 1 document. This specifies what we did in class with the Jar file and running command line or Power Shell to run your app.
TURNING IN LAB:
- Turn your lab into Canvas.
- IMPORTANT: DO NOT ZIP your folders/files please.
- Turn in ALL the java files for this lab.