tcp jonny
All checks were successful
Build and Publish / BuildAndDeployAmd64 (push) Successful in 35s
Build and Publish / BuildAndDeploy (push) Successful in 2m31s

This commit is contained in:
matst80
2024-11-21 20:02:38 +01:00
parent 238fa5a1e6
commit 21b51cf020

View File

@@ -1,7 +1,6 @@
package main package main
import ( import (
"bufio"
"encoding/binary" "encoding/binary"
"fmt" "fmt"
"log" "log"
@@ -65,13 +64,13 @@ func NewConnection(address string) *Connection {
} }
func SendFrame(conn net.Conn, data *FrameWithPayload) error { func SendFrame(conn net.Conn, data *FrameWithPayload) error {
w := bufio.NewWriter(conn)
err := binary.Write(w, binary.LittleEndian, data.Frame) err := binary.Write(conn, binary.LittleEndian, data.Frame)
if err != nil { if err != nil {
return err return err
} }
_, err = w.Write(data.Payload) _, err = conn.Write(data.Payload)
w.Flush()
return err return err
} }
@@ -117,15 +116,14 @@ func (c *Connection) Call(msg FrameType, data []byte) (*FrameWithPayload, error)
func WaitForFrame(conn net.Conn, resultChan chan<- FrameWithPayload) error { func WaitForFrame(conn net.Conn, resultChan chan<- FrameWithPayload) error {
var err error var err error
var frame Frame var frame Frame
r := bufio.NewReader(conn)
err = binary.Read(r, binary.LittleEndian, &frame) err = binary.Read(conn, binary.LittleEndian, &frame)
if err != nil { if err != nil {
return err return err
} }
if frame.IsValid() { if frame.IsValid() {
payload := make([]byte, frame.Length) payload := make([]byte, frame.Length)
_, err = r.Read(payload) _, err = conn.Read(payload)
if err != nil { if err != nil {
return err return err
} }