Programs of Hyper

Hasses

Hyper's Asynchronous Server Sent event (SSE) notification Server (C)

Hasses is a small notification server using Server Sent Event (SSE). It has asynchronous design to handle more clients in same thread. It uses linux epoll() function.
Most SSE example uses server side codes holds a connection to each client. It is usually means a process/thread for each client connection, which is not optimal when the number of clients are rising. This daemon act as a minimal web server which suitable to handle SSE connections only, and can handle all incoming connections in one thread. The main web server environment (which serve the web pages) can send the notifications to the clients through a separate network connection or a FIFO file. The clients can connect to the hasses server with a special token(s), which are usable to address messages to a subset of clients or even one client.
The daemon has a rich logging and client tracking possibility.

Diagrams & Screenshots

architecture hasses

Download & Browse source

  https://github.com/hyper-prog/hasses (GitHub page)

Docker image

  https://hub.docker.com/r/hyperprog/hassesdaemon (DockerHub page)
Author: Péter Deák
License: GPL v2
Contact Email: emailaddrat gmail.com