GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com โ€” GitHub - singh-builds/JavaChatApp: A multi-client Java chat application using Socket Programming, Multithreading and Swing GUI.

BranchesTags
Open more actions menu

Latest commit

 

History

2 Commits
2 Commits

Folders and files

NameName
Last commit message
Last commit date
src
src
 
 
.gitignore
.gitignore
 
 
README.md
README.md
 
 

Repository files navigation

๐Ÿ’ฌ Java Chat Application

A multi-client desktop chat application built with Java Socket Programming, Multithreading, and Java Swing.

The application allows multiple users to connect to a central server, chat with each other, view online users, and send private messages.

โœจ Features

  • ๐Ÿ”Œ Client-Server communication
  • ๐Ÿ‘ฅ Multiple users connected simultaneously
  • ๐Ÿ’ฌ Real-time group messaging
  • ๐Ÿ”’ Private messaging between users
  • ๐ŸŸข Online users list
  • ๐Ÿ–ฅ๏ธ Java Swing graphical interface
  • โšก Multithreading for multiple clients
  • โŒจ๏ธ Enter key and SEND button support
  • ๐Ÿ“‹ Built-in chat commands
  • ๐Ÿ”„ Automatic online-user updates

๐Ÿ› ๏ธ Technologies Used

Technology Purpose
Java Core programming language
Java Swing Desktop GUI
Socket / ServerSocket Client-server networking
Multithreading Handling multiple clients
BufferedReader Reading messages
PrintWriter Sending messages
ArrayList Managing connected clients

๐Ÿ“ Project Structure

JavaChatApp/
โ”‚
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ client/
โ”‚   โ”‚   โ”œโ”€โ”€ ChatClient.java
โ”‚   โ”‚   โ””โ”€โ”€ ChatWindow.java
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ server/
โ”‚       โ”œโ”€โ”€ ChatServer.java
โ”‚       โ””โ”€โ”€ ClientHandler.java
โ”‚
โ”œโ”€โ”€ out/
โ”œโ”€โ”€ .gitignore
โ””โ”€โ”€ README.md
โš™๏ธ How It Works
 Client 1 โ”€โ”€โ”
 Client 2 โ”€โ”€โ”ผโ”€โ”€> Chat Server โ”€โ”€> Connected Clients
 Client 3 โ”€โ”€โ”˜

The ChatServer listens on port 5000.

Each connected client gets its own ClientHandler thread, allowing multiple users to communicate at the same time.

๐Ÿ’ฌ Chat Commands
Command	Description
/help	Show available commands
/users	Show online users
/msg username message	Send a private message
/exit	Leave the chat

Example:

/msg Deep Hello Deep!
โ–ถ๏ธ Run the Project
1. Compile

From the JavaChatApp folder:

javac -d out src\server\ChatServer.java src\server\ClientHandler.java src\client\ChatClient.java src\client\ChatWindow.java
2. Start the Server
java -cp out server.ChatServer

The server runs on:

localhost:5000
3. Start Clients

Open another terminal and run:

java -cp out client.ChatClient

Start the command again in another terminal to connect another user.

For example:

Client 1 โ†’ Aditya
Client 2 โ†’ Deep
๐Ÿงช Example
ONLINE USERS

Aditya
Deep

Group chat:

Aditya: Hello Deep!
Deep: Hello Aditya!

Private chat:

/msg Deep This is a private message.

[Private] Aditya: This is a private message.
๐Ÿš€ Future Improvements
๐Ÿ–ฑ๏ธ Click a user to start private chat
๐Ÿ” User authentication
๐Ÿ—„๏ธ Database integration
๐Ÿ•’ Message timestamps
๐Ÿ“Ž File sharing
๐Ÿ”” Desktop notifications
๐ŸŒ Network-based connections
๐ŸŒ Web version
๐Ÿค– AI Assistance

AI tools were used as a learning and development aid for understanding concepts, debugging, improving the GUI, and documentation.

The project was implemented, tested, and reviewed by me.

๐Ÿ‘จโ€๐Ÿ’ป Author

Aditya Singh

Java โ€ข Socket Programming โ€ข Multithreading โ€ข Swing โ€ข Client-Server Architecture

๐Ÿ“Œ Project Status

Core chat functionality completed.

Built as a college project to gain practical experience with Java networking, multithreading, GUI development, and client-server architecture.


This version is much better for GitHub because it gives someone the **important information without maki

About

A multi-client Java chat application using Socket Programming, Multithreading and Swing GUI.

Topics

chat-applicationclient-serverdesktop-applicationjavajava-chat-applicationjava-swingmultithreadingnetwork-programmingoopsocket-programming

Resources

Readme
Activity

Stars

0 stars

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 โ€” GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800ร—600. No cookies required.