package utils import ( "net" "encoding/json" "context" "github.com/coder/websocket" ) func WsDial(addr string) (c net.Conn, err error) { ctx := context.Background() ws, _, err := websocket.Dial(ctx, addr, nil) if err != nil { return nil, err } c = websocket.NetConn(ctx, ws, websocket.MessageText) return } func WsJsonSend(c net.Conn, o any) (err error) { enc := json.NewEncoder(c) err = enc.Encode(o) return } func WsJsonRecv(c net.Conn, o any) (err error) { dec := json.NewDecoder(c) err = dec.Decode(o) return }