package websocket import ( "bufio" "github.com/gorilla/websocket" "net" ) func streamFromWebsocketConnToTCPConn(websocketConn *websocket.Conn, tcpConn net.Conn, errorChan chan error) { for { _, in, err := websocketConn.ReadMessage() if err != nil { errorChan <- err break } _, err = tcpConn.Write(in) if err != nil { errorChan <- err break } } } func streamFromTCPConnToWebsocketConn(websocketConn *websocket.Conn, br *bufio.Reader, errorChan chan error) { for { out := make([]byte, 2048) _, err := br.Read(out) if err != nil { errorChan <- err break } err = websocketConn.WriteMessage(websocket.TextMessage, out) if err != nil { errorChan <- err break } } }