It's demo Server Sent Event (golang) with simple Javascript client. By default, the server sends every second a message(time event) with time of now in UTC(Coordinated Universal Time).
conf.json file contains address, port and clock (by second) parameters.
res.write('event: time\n');
res.write('data: 2021-06-28T14:29:17Z\n'); // time in UTC
res.write('data: \n\n');
let source = new EventSource('/clocktimes');
source.addEventListener('time', timeHandler, false);
// Client can subscribe on different event.
source.addEventListener('otherEvent', otherEventHandler, false); curl -N -H "Accept:text/event-stream" http://localhost:3000/clocktimes
The file client/index.html can directly consumer SSE messages with Access-Control-Allow-Origin parameter.
- docker built -t <image_name:tag_version>
docker build -t sse/goserver:0.1 .- docker run -tid -p <host_port:container_port> --name <container_name><image_name:tag_version>
docker run -tid -p 3000:3000 --name gosse sse/goserver:0.1