/jChat

Java socket programming mini-project. TCP-based chat with GUI, encryption and other goodies.

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

jChat - TCP/UDP based multi-threaded chat application

example_screen

Usage

Compile the .java files using javac

1) Start the server
$ java jServerSocket <portNumber>

2) Start one or multiple clients (hostname is localhost by default)
$ java jClientSocket <hostName> <portNumber>

Dependencies

Java API for JSON Processing

Basic requirements

  • [✓] Send ASCII text
  • [~] Share file (binary)
  • [✓] Secure encrypted communication
  • [✓] Store chat history

Advanced blocks

  • [✓] Private messages
  • [✓] Authentication, Authorization
  • [✓] Message integrity: Hash verification