Server-Sent-Events-Simple-Demo是透過Server-Sent-Events(SSE)來實現Golang Server主動推送訊息給Web Client
特性:
HTTP Stream的特性,實現Server主動推播的功能HTML5規範原生支持retry connection handle
場景:
Websocket即可,但Websocket傳遞訊息的方式非常簡單,無法像Restful API擁有4xx等Error Code,所以要怎麼表示這些錯誤要開發者手動實作。如果透過SSE推播 + Restful API取值,就可以善用Restful API的Error Code特性來達到聊天效果。甚至搭配對Protocol更嚴謹的GRPC-Web也是很好的方案。docker
docker-compose
docker-compos up
localhost:5000

整體我都用註釋寫在code裡面了,主要在此兩個檔案: