From f25659a4a6e853f548f7ff6f4ee7ae0148bf4b7b Mon Sep 17 00:00:00 2001 From: qowevisa Date: Fri, 7 Jun 2024 12:19:43 +0300 Subject: [PATCH] Fix json errors --- cmd/cgui/main.go | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/cmd/cgui/main.go b/cmd/cgui/main.go index bd9a5ac..f53e4cc 100644 --- a/cmd/cgui/main.go +++ b/cmd/cgui/main.go @@ -3,13 +3,14 @@ package main import ( "crypto/tls" "crypto/x509" + "encoding/binary" "fmt" "log" "net" "net/url" "os" - "git.qowevisa.me/Qowevisa/gotell/communication" + com "git.qowevisa.me/Qowevisa/gotell/communication" "git.qowevisa.me/Qowevisa/gotell/env" "github.com/gorilla/websocket" ) @@ -69,7 +70,7 @@ func readFromServer(conn net.Conn, ws *websocket.Conn) { log.Printf("client: read: %s", err) return } - msg, err := communication.Decode(buf[:n]) + msg, err := com.Decode(buf[:n]) if err != nil { log.Printf("ERROR: %#v\n", err) continue @@ -78,18 +79,26 @@ func readFromServer(conn net.Conn, ws *websocket.Conn) { continue } log.Printf("client: received message from server: %v", *msg) + switch msg.ID { + case com.ID_SERVER_APPROVE_CLIENT_NICKNAME: + newID := binary.BigEndian.Uint16(msg.Data) + msg.FromID = newID + msg.Data = []byte{} + } + log.Printf("client: sending message to websocket: %v", *msg) ws.WriteJSON(*msg) } } func readFromWebSocket(conn net.Conn, ws *websocket.Conn) { for { - var msg communication.Message + var msg com.Message err := ws.ReadJSON(&msg) if err != nil { log.Printf("WebSocket read error: %s", err) return } + msg.Version = com.V1 log.Printf("client: received message from Electron: %v", msg) encodedMsg, err := msg.Bytes() if err != nil { @@ -99,4 +108,3 @@ func readFromWebSocket(conn net.Conn, ws *websocket.Conn) { conn.Write(encodedMsg) } } -