-
Notifications
You must be signed in to change notification settings - Fork 0
Introduction
Sonder is a Java library providing TCP client-server asynchronous communication on high level abstraction. It's implemented over NIO encapsulating low-level work of selectors and some byte-level packet protocol.
The entire communcation work is shown in below image:
.
This is specific socket layer byte protocol, which doesn't matter for you (a user).
Note: The protocol does not contain any Java-specific stuff, so can be implemented a client library in any language. At the moment, only java to java communication is possible.
On the next there are user-specified custom protocols, which must be defined in each end for properly communication.
There can be several protocols, and each packet contains information about which protocol should process it.
On the diagramm you can see, that server supports three protocols for incoming/outgoing packets, and clients can communicate with server only with that protocols, but it is not mandatory that client must be support all of that protocols.
The server and the clients are equal in the communication, but you can define your protocol as you want and in different ways on each end.