Commit d42f4cf6 authored by Chunchi Che's avatar Chunchi Che

fix tcp read message eof error

parent d42a6762
......@@ -2,6 +2,7 @@ package main
import (
"bufio"
"io"
"log"
"net"
"net/http"
......@@ -35,8 +36,11 @@ func ygoEndpoint(w http.ResponseWriter, r *http.Request) {
tcp, err := net.Dial("tcp", "127.0.0.1"+PROXY_PORT)
if err != nil {
log.Fatal("connect tcp server error", err)
log.Fatal("connect tcp server error: ", err)
}
log.Println("Tcp connected")
defer tcp.Close()
wg.Add(2)
......@@ -49,7 +53,7 @@ func wsProxy(ws *websocket.Conn, tcp *net.Conn, wg *sync.WaitGroup) {
for {
messageType, buf, err := ws.ReadMessage()
if err != nil {
log.Fatal("websocket read message error", err)
log.Fatal("websocket read message error: ", err)
break
}
......@@ -65,7 +69,7 @@ func wsProxy(ws *websocket.Conn, tcp *net.Conn, wg *sync.WaitGroup) {
_, err = writer.Write(buffer)
if err != nil {
log.Fatal("websocket send message error", err)
log.Fatal("websocket send message error: ", err)
break
}
}
......@@ -80,15 +84,19 @@ func tcpProxy(tcp *net.Conn, ws *websocket.Conn, wg *sync.WaitGroup) {
_, err := reader.Read(buffer)
if err != nil {
log.Fatal("tcp read message error", err)
break
if err == io.EOF {
continue
}
log.Fatal("tcp read message error: ", err)
break
}
log.Println("tcp to websocket: " + string(buffer))
err = ws.WriteMessage(websocket.TextMessage, buffer) // temporary TextMessage, should be BinaryMessage in ygopro
if err != nil {
log.Fatal("tcp send message error", err)
log.Fatal("tcp send message error: ", err)
break
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment