Skip to content

Multiple RealTime distributed Client Connectivity Program to work with Socketty Server harnessing the power of Sockets API in Java !

License

Notifications You must be signed in to change notification settings

CodyNeeraj/Socketty-ClientEX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation




ClientEX, a DCC (Distributed-Chat-Client) Application built using Java 💻 📡

CLientEX is a program mainly built to function as a Distributed Client Connectivity Program to connect with its Server (Socketty), and to communicate with each other ClientEX Hosts on the bare Internet/Networking architecture !!!

This software is a bare Client application and a Server Program is required to connect to it so, For more info regarding that Server application refer here Socketty

Navigation :

User Interface

1. Main Screen (Login Mode)

client_logon

2. Chat Screen (Running/Connected Mode)

clsMutliUser

Other working is in the program itself ;) !!

Main Features

  • Able to connect many Clients Asynchronously.
  • Easily share Images, Audio, text and other media files over it.
  • Automatic Hide/Show console written using JAVA properties.
  • A Local personal chat server for anonymous discussions.
  • Highly optimised for long term usage.
  • No need to install additional dependencies.
  • Direct deployment Workflow.
  • Rest will made public soon 😊

Development Requirements

  • Must Ensure to have a JDK installed in your Operating System Version (>=1.8) any Vendor
  • Familiarity with Apache ANT build tool (can get replaced with Maven or Gradle in the future builds).
  • NetBeans IDE Latest Version will also work, but I've developed this program on version 8.2 using JDK 1.8.
  • For Ease of deployment , usage of Jlink and JPackage and Other Packaging Bundle Softwares.
  • Nerdy Programmer Skills 💻 🔎
  • A lot of Coffee ☕

Usage Permissions

This software is licensed under MIT License any Commercial use can't be done without asking the developer and liability to use all these sources must be in hand of developer only, you may need to ask me for using this in your project by giving credit to the native developer 😜!
Probably as per MIT's license everyone is free to use the software but in case of development of any software using FOSS principle the MIT gave her license to the follow developers all around the world which is an extension of Apache 2.0

Supported Platforms and Dependancies

  • Windows, Mac and Linux for both x32 and x64 bit.
  • Internet Required if you want to connect outside your Network.
  • Specified port must be unfiltered for the above application too.
  • Java (Minimum version 16 must be installed, only for development)
  • Above Java Version needs to be installed in case you are using Linux or Mac.

Compile/Build our own directly from source !

ABOVE TUTORIAL IS FOR WINDOWS ONLY !

  1. Clone this Repo to local
https://github.com/CodyNeeraj/Socketty-ClientEX.git
  1. Then atleast Java 16 installed in your system and then do the following

-- (For checking JDK is in path of Env. ?)

java -version
  • Fetching list of all the java files inside all sub-directories and copying them inside a file named details.txt
dir /s /b *.java > details.txt
  • Compiling all the files captured in the above details.txt.
mkdir output && 
javac -cp libs/* -d output @details.txt
  • Don't forget to copy the Library folder with the compiled jar to, forgetting this will cause ClassNotFoundError.
  • Making A jar file out of it now, take all the packages of *.classes and take the fonts and icons folder then zip all the files now with a name of codyneeraj_Client.jar and then run
 cd output && 
 jar cvfe codyneeraj_Client.jar main.ServerMain .
 move codyneeraj_Client.jar ..\
  • Now we have a JAR containing all the resources but no classpaths so to run the jar executable do
cd .. && 
java -cp "codyneeraj_Client.jar;libs\*" main.ServerMain
  • You can also copy all the dependancies inside library folder (by removing the META-INF directory) from each and every zipped Jar file and then copy all the pure dependancy core directories to the root of output folder where we've placed other resource directories too, this will result a FAT jar file which is portable to a much higher extent and don't require any other dependancy to rely on !!

Not getting the required output result..?, you've probably did something wrong unintentionally 😕 !

Native Packing Tutorial COMING SOON !!

License

Original Developer- Neeraj

Project's License > MIT's License MIT ©

DOWNLOADING : Anyone is free to download the executables without any consent of developer and can use them for your OS without any hesitation.

DEVELOPMENT : This software is licensed under MIT License any Commercial use can't be done without asking the developer and liability to use all these sources must be in hand of developer only, you may need to ask me for using this in your project by giving credit to the native developer 😜

Downloads

Download the latest precompiled binaries here ⬇️⬇️⬇️

Feedback

  • Your feedback is important to me so please give a feedback.