Reconnect websocket on error
This commit is contained in:
parent
bd9e9136e6
commit
2e7870df5d
@ -2,13 +2,11 @@ package fortoprt
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"git.fuyu.moe/5GPowerQuality/parser/data"
|
||||
"git.fuyu.moe/5GPowerQuality/parser/shared"
|
||||
"git.fuyu.moe/Fuyu/flog"
|
||||
"golang.org/x/net/websocket"
|
||||
)
|
||||
|
||||
@ -32,8 +30,6 @@ type measurement struct {
|
||||
var host = `dcem5g.ddns.net`
|
||||
|
||||
func FetchData() {
|
||||
fmt.Println(`Connecting`)
|
||||
|
||||
conn, err := websocket.Dial(`ws://`+host+`/ValuesSocketServer/VMvalues`, ``, `http://localhost`)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
@ -49,13 +45,6 @@ func FetchData() {
|
||||
}
|
||||
|
||||
func readData(conn *websocket.Conn) {
|
||||
defer func() {
|
||||
v := recover()
|
||||
if v != nil {
|
||||
flog.Critical(v)
|
||||
}
|
||||
}()
|
||||
|
||||
b, n := make([]byte, 16384), 0
|
||||
|
||||
msg := message{}
|
||||
|
13
main.go
13
main.go
@ -17,8 +17,8 @@ func main() {
|
||||
|
||||
data.InitDB()
|
||||
|
||||
// go fetchFortopData()
|
||||
go fortoprt.FetchData()
|
||||
go fetchFortopData()
|
||||
go fetchFortopRealtimeData()
|
||||
envitron.ReceiveData()
|
||||
}
|
||||
|
||||
@ -37,3 +37,12 @@ func fetchFortopData() {
|
||||
}()
|
||||
}
|
||||
}
|
||||
|
||||
func fetchFortopRealtimeData() {
|
||||
for {
|
||||
func() {
|
||||
defer recoverFunc()
|
||||
fortoprt.FetchData()
|
||||
}()
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user