Konfi-Castle-Kasino/ws.go

41 lines
767 B
Go

package main
import (
"github.com/labstack/echo"
"golang.org/x/net/websocket"
"fmt"
"encoding/json"
)
func ws(c echo.Context) error {
//Datenbankverbindung aufbauen
db := DBinit()
// Websocket
websocket.Handler(func(ws *websocket.Conn) {
defer ws.Close()
for {
msg := ""
err := websocket.Message.Receive(ws, &msg)
if err != nil {
c.Logger().Error(err)
}
fmt.Println(msg)
//Daten holen und anzeigen
var kofi []Kofi
err = db.OrderBy("KCoins DESC").Find(&kofi)
if err != nil {
fmt.Println(err)
}
kofiJson, err := json.Marshal(kofi)
// Wegschicken
err = websocket.Message.Send(ws, string(kofiJson))
if err != nil {
c.Logger().Error(err)
}
}
}).ServeHTTP(c.Response(), c.Request())
return nil
}