Skip to content

nsiatras/extasys

Repository files navigation

Extasys - Asynchronous TCP/UDP socket library

Extasys is a high performance, asynchronous TCP/UDP socket library for Java (JDK 8 and newer).
Its multi-threaded and lightweight nature makes it ideal for super fast data transfer even on systems with ARM architecture like Android smartphones and single-board computers (Raspberry Pi, Orange Pi etc.). Extasys is designed to take the hard job done and let you think only about the message exchange (the process).

flowchart  TD;

Client1(Client #1) ---|Data I/O|ExtasysListener(Extasys Listener);
Client2(Client #2) ---|Data I/O|ExtasysListener(Extasys Listener);
Client3(Client #3) ---|Data I/O|ExtasysListener(Extasys Listener);
Client...(Client ...) ---|Data I/O|ExtasysListener(Extasys Listener);

ExtasysListener --> ThreadPool(ThreadPool: Non-Blocking Multithreaded Data Processing);
ThreadPool --> ExtasysListener;

Loading

Features

  • Dedicated Thread Pool for each TCPServer, TCPClient, UDPServer and UDPClient
  • Multiple listeners per server and multiple connectors per Client
  • TCP message collector with character or string message splitter
  • Auto-Handle Message Splitter characters for TCP connections
  • On-the-Fly Data Manipulations (Encryption, Encoding, Compression) using the DataConverter object

Extasys project is Developed with NetBeans IDE

How to Use

Fully functional examples on how to use Extasys can be found inside the repository.
More information on how to use Extasys can be found on the wiki pages

Easy to follow examples:

Chat Server client examples:

Quick Examples: