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;
- 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
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
- TCP Server Example - Simple TCP Server with UI
- TCP Client Example - Simple TCP Client with UI
- UDP Server Example - Simple UDP Server with UI
- UDP Client Example - Simple UDP Client with UI
- TCP Chat Server Example - Chat Server Example with UI
- TCP Chat Client Example - Chat Client Example with UI