Я хочу создать Goroutine для каждого пользователя, чтобы отправлять данные веб-памяти последовательно. Итак, я написал код, как показано ниже.Не удается сохранить сеанс в контроллере WebSocket?
func (c User) List(ws *websocket.Conn) revel.Result {
disconnect := make(chan bool)
if c.Session["connected"] != "true" {
c.Session["connected"] = "true"
go func() {
for {
select {
case <-ticker.C:
if websocket.JSON.Send(ws, &map[string]interface{}{"hoge": "fuga"}) != nil {
c.Session["connected"] = "false"
disconnect <- true
}
}
}
}()
}
<-disconnect
return nil
}
Однако код делает goroutines для каждого доступа.
И я попробовал код, как показано ниже.
func (c App) WebSocket(ws *websocket.Conn) revel.Result {
fmt.Println(c.Session)
c.Session["connected"] = "true"
return nil
}
https://gist.github.com/uzimith/0066e863a0809d4a91ec
выход это.
map[]
map[]
Не удается сохранить сеанс в контроллере WebSocket?
Я думаю, нам нужен сеанс. Сохраняйте метод, не так ли?