AI Summary
[DOCUMENT_TYPE: user_assignment]
**What This Document Is**
This is a project specification document for the first part of a multi-stage assignment in an Introduction to Communication Networks course. Specifically, it details the requirements for developing a chat client application, a foundational exercise in network programming. It outlines the goals, timeline, and functional expectations for students undertaking this project at the University of California, Berkeley. The document serves as a comprehensive guide for building a client capable of interacting with a designated server.
**Why This Document Matters**
This document is essential for students enrolled in ELENG 122 seeking to successfully complete the initial phase of their networking project. It’s particularly valuable when you’re beginning to translate theoretical knowledge of network communication into practical application. Understanding the specifications *before* starting development will save significant time and effort, ensuring your client application meets the course requirements. It’s best reviewed at the start of the project and referenced throughout the development process.
**Topics Covered**
* Socket Programming
* TCP/IP Communication
* Client-Server Architecture
* Command-Line Interface Design
* Network Application Development
* Error Handling in Network Applications
* Message Formatting and Exchange
* User Input Processing
**What This Document Provides**
* A clear project goal and timeline with defined milestones.
* Detailed descriptions of the expected functionality of the chat client.
* Specifications for client-server interaction, including message types.
* A breakdown of required console commands and their associated parameters.
* Guidelines for error handling and user feedback within the client application.
* Information on accessing a test server for initial development and testing.
* Specific requirements regarding username validation and command parsing.