|
@@ -51,20 +51,21 @@ func (s *ServerSentRouter) Notify() {
|
|
}()
|
|
}()
|
|
// 监听消息通道并发送给客户端
|
|
// 监听消息通道并发送给客户端
|
|
flusher := s.ResponseWriter.(http.Flusher)
|
|
flusher := s.ResponseWriter.(http.Flusher)
|
|
- ticker := time.NewTicker(15 * time.Second)
|
|
|
|
|
|
+ ticker := time.NewTicker(60 * time.Second)
|
|
defer ticker.Stop()
|
|
defer ticker.Stop()
|
|
for {
|
|
for {
|
|
select {
|
|
select {
|
|
case msg := <-messageChan:
|
|
case msg := <-messageChan:
|
|
logger.Info("--msg--:", msg, "--userId--:", userId)
|
|
logger.Info("--msg--:", msg, "--userId--:", userId)
|
|
fmt.Fprintf(s.ResponseWriter, "data: %s\n\n", msg)
|
|
fmt.Fprintf(s.ResponseWriter, "data: %s\n\n", msg)
|
|
|
|
+ flusher.Flush()
|
|
case <-ticker.C:
|
|
case <-ticker.C:
|
|
logger.Info("--heartbeat--:", userId)
|
|
logger.Info("--heartbeat--:", userId)
|
|
fmt.Fprintf(s.ResponseWriter, ": heartbeat\n\n")
|
|
fmt.Fprintf(s.ResponseWriter, ": heartbeat\n\n")
|
|
|
|
+ flusher.Flush()
|
|
case <-s.Request.Context().Done():
|
|
case <-s.Request.Context().Done():
|
|
return // 客户端断开连接
|
|
return // 客户端断开连接
|
|
}
|
|
}
|
|
- flusher.Flush()
|
|
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
s.ServeJson("not login")
|
|
s.ServeJson("not login")
|
|
@@ -81,7 +82,7 @@ func (s *ServerSentRouter) Send() {
|
|
util.SendNotification(userId, model.SseMessage{
|
|
util.SendNotification(userId, model.SseMessage{
|
|
Name: msg,
|
|
Name: msg,
|
|
User: phone,
|
|
User: phone,
|
|
- State: model.WinningTarget,
|
|
|
|
|
|
+ State: model.TaskTarget,
|
|
Time: time.Now().Format(date.Date_Full_Layout),
|
|
Time: time.Now().Format(date.Date_Full_Layout),
|
|
Remark: fmt.Sprintf("测试信息:恭喜 %s 抽中 %s ", phone, msg),
|
|
Remark: fmt.Sprintf("测试信息:恭喜 %s 抽中 %s ", phone, msg),
|
|
})
|
|
})
|