Question
A Chat Application for Remote Message Exchange( code in java) 1. Objective Getting Started: Familiarize yourself with socket programming. Implement: Develop a simple chat application
A Chat Application for Remote Message Exchange( code in java)
1. Objective Getting Started: Familiarize yourself with socket programming. Implement: Develop a simple chat application for message exchange among remote peers. 2. Getting Started Socket Programming: Beej Socket Guide: http://beej.us/guide/bgnet 3. Implement 3.1 Programming environment You will write code with any programming language you feel comfortable. NOTE: You should (1) use TCP Sockets in your peer connection implementation; (2) handle multiple socket connections; (3) integrate both client-side and server-side code into one program and run on each peer. 3.2 Running your program Your process (your program when it is running in memory) will take one command line parameters. The parameter indicates the port on which your process will listen for the incoming connections. For example, if your program is called chat, then you can run it like this: ./chat 4322, where 4322 is the listening port. Run your program on three computers and perform message exchange. 3.3 Functionality of your program When launched, your process should work like a UNIX shell. It should accept incoming connections and at the same time provide a user interface that will offer the following command options: (Note that specific examples are used for clarity.) 1. help Display information about the available user interface options or command manual. 2. myip Display the IP address of this process. Note: The IP should not be your Local address (127.0.0.1). It should be the actual IP of the computer. 3. myport Display the port on which this process is listening for incoming connections.
4. connect
4.2 How to submit Use CANVAS to submit the zip file. Each group is required to make a project demo video and upload it to YouTube. The length of this video should be about 5 minutes (8 minutes maximum). After uploading the demo video, please submit the video link URL in Canvas. This demo video shall show: 1. The significant part of your source code with brief explanation 2. If appliable, live compilation of your source code 3. Output of all commands you implemented with brief explanation. You may do this demo in one laptop by opening two or three (if your server program accepts multiple client connections) command windows 4. Each group will need to play this video with me and be ready to answer any questions I may raise. 4.3 Grading Criteria Each group will be scheduled for project demo. All the members should attend the demo, and describe their coding contribution in this project. You will receive no points if you dont show up for demo Correctness of output and exceptional handling. You will receive no more than 10 points if connect/send doesnt work. You will receive no more than 12 points if your program doesnt act as both client and server. Organization and documentation of your code. Project is graded based on your own individual contribution 4.4 Important Key Points: There is just one program. DONT submit separate programs for client and server. Error Handling is very important Appropriate messages should be displayed when something goes bad. DONT ASSUME. If you have any doubts in project description, please come to my office hour. Submission deadline is hard. Absolutely no extension! Please do not submit any binaries or object files or any test files
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started