Skip to content

A desktop application for WAN messaging, built with Maven in Java, using Swing as a GUI framework. Features socket programming and multithreading.

License

Notifications You must be signed in to change notification settings

siddhp1/Messenger

Repository files navigation

Messenger

A desktop application for WAN messaging with others, either through a global chat or direct messages. Has an external server, which can be hosted anywhere in the world, and users can download the client, connect with a server, and message other users connected to the same server. Built with Maven in Java, using Swing as a GUI framework. Features socket programming and multithreading.

Table of Contents

  1. Setup
  2. Usage
  3. License

Setup

Server Setup

  1. Clone Repository:

    Clone this repository to your server:

    git clone https://github.com/siddhp1/Messenger.git
  2. Place Server Jar and Credentials File:

    Place the server-1.0.jar file in the same directory as credentials.txt.

  3. Port Forwarding:

    Set up port forwarding for port 5000 on your router to the server's local IP address. This allows external connections to reach the messenger server:

    External Port: 5000
    Internal Port: 5000
    Protocol: TCP
    
  4. Start the Server:

    Run the server using the following command:

    java -jar server-1.0.jar

    Ensure the server is running and accessible externally.

Client Setup

  1. Clone Repository:

    Clone this repository to your client:

    git clone https://github.com/siddhp1/Messenger.git
  2. Place Client Jar and Config File:

    Place the client-1.0.jar file in the same directory as config.txt.

  3. Configure IP:

    Set the IP address inside the config file to the public IPv4 address of the server. If the server is hosted on a local network (LAN) use the private IP address.

  4. Start the Client:

    Run the client using the following command:

    java -jar client-1.0.jar

Usage

To use the application, create an account and login to the client. Clients are automatically connected to global chat when they successfully launch.

To directly message another user, click the refresh button and then click on the user you would like to message. Then type in the box and your message will be sent. The application has notifications and caching for messages received when the recipient is not focused on the sender's direct message.

Have fun messaging!

License

This project is licensed under the MIT License.

About

A desktop application for WAN messaging, built with Maven in Java, using Swing as a GUI framework. Features socket programming and multithreading.

Resources

License

Stars

Watchers

Forks

Languages