Giter Site home page Giter Site logo

codyneeraj / socketty-server Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 2.4 MB

Centralized Server Application Built over Java Sockets API for Hassle free communication over the LAN and bare Internet.

License: MIT License

Java 100.00%
socket-programming java-8 java8 swings networking chat-application group server socketprogramming jlink

socketty-server's Introduction




Socketty, a CCS (Centralised-Chat-Server) Application built using Java πŸ’» πŸ“‘

Socketty is a program mainly built to function as a Central Administrative Server utility to connect with using (ClientEX), and to communicate with each other ClientEX Hosts on the bare Internet/Networking architecture !!!

This software is a bare server application and a Client application is required to connect to it so, For more info regarding the client software refer this url ClientEX

Navigation :

User Interface

1. Main Screen (Running Mode)

serverRunningNew

2. Main Screen (Stopped Mode)

server_mainScreen

Other working is in the program itself ;) !!

How to's

Understanding Code Logic Implementation

It harnesses the power of socket programming in Java and TCP IP networking paradigm to make an efficient connection with a client, we can share any type of media or text using it and for any types of data it uses the underlying principle of sending an object in socket programming by first applying principle of serialization on that particular object and then we are using the object output stream as byte stream in which the serialized object can easily be casted into a full fledged previously declared object so that the client or the server machine can easily distinguish the data being sent to it by this particular stream of data written inside this packed object !!! So this is all about how the data is being sent on the object output stream by socket programming now we should discuss about how , many different clients are able to connect to the server in real-time and access data on everywhere at the same instant this is done by using the multithreading. By using this, the working for client and the server keeps a record of all the objects of each and every client being connected to it and then not mixing matching each and every type of message been to everyone the first feature of this program is we can connect up to a number of clients depending upon the size of the machine for the specification used in the machine, since the JVM supports only limited amount of memory so that we can say that we can easily connect up to 20 devices on Central server or a machine and rest is being used by a client software to spawn a thread on that particular server on which the program is running on to πŸ˜„

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)

Compile/Build our own directly from source !

ABOVE TUTORIAL IS FOR WINDOWS ONLY !

  1. Clone this Repo to local
git clone https://github.com/CodyNeeraj/Socketty-Server.git
  1. If ANT Installed somewhere in your system, then got the root of repo and do
ant -buildfile build.xml
  1. If above ANT not installed, you then required to have 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
  • 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_Server.jar and then run
 cd output && 
 jar cvfe codyneeraj_Server.jar main.ServerMain .
 move codyneeraj_Server.jar ..\
  • Now we have a JAR containing all the resources but no classpaths so to run the jar executable do
cd .. && 
java -cp "codyneeraj_Server.jar;libs\*" main.ServerMain

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.

socketty-server's People

Contributors

codyneeraj avatar

Watchers

 avatar

socketty-server's Issues

[⚑TEST ] Sockets over internet without port forwarding ?

Expected behavior

After inspecting your code, I saw that you are creating a ServerSocket with some port without forwarding the port. Even though it works for localhost, it would fail (ConnectionException on the client-side) when connecting over the internet.

ss = new ServerSocket(port);

Actual behavior

I am not aware of the technology you have used to connect clients over the internet, nor I have used or tested this program. I just want to know if it actually works and if yes, please let me know How.
Thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.