test-client: tcp read reply from the server

This commit is contained in:
Suyono 2025-04-24 08:30:52 +10:00
parent 78cab7a871
commit 66662bd26e

View File

@ -2,13 +2,14 @@ package main
import (
"fmt"
"net"
"time"
"gitea.suyono.dev/suyono/netbounce/cmd/slicewriter"
"github.com/rs/zerolog"
"github.com/rs/zerolog/log"
"github.com/spf13/pflag"
"github.com/spf13/viper"
"net"
"time"
)
/*
@ -50,6 +51,7 @@ func sendTCP() {
conn net.Conn
err error
buf, b []byte
n int
)
if conn, err = net.Dial("tcp", viper.GetString("server")); err != nil {
@ -63,17 +65,20 @@ func sendTCP() {
for {
sb := slicewriter.NewSliceWriter(buf)
if _, err = fmt.Fprintf(sb, "client %s | %v | %s", viper.GetString("name"), time.Now(), viper.GetString("message")); err != nil {
log.Error().Err(err).Msg("Failed to build client message")
return
log.Fatal().Err(err).Msg("Failed to build client message")
}
b = sb.Bytes()
if _, err = conn.Write(b); err != nil {
log.Error().Err(err).Msg("Failed to send client message")
time.Sleep(viper.GetDuration("sleep"))
continue
log.Fatal().Err(err).Msg("Failed to send client message")
}
//TODO: read the server reply
if n, err = conn.Read(buf); err != nil {
log.Fatal().Err(err).Str("server", conn.RemoteAddr().String()).Msg("read from the server")
}
log.Info().Str("server", conn.RemoteAddr().String()).Msgf("%s", buf[:n])
time.Sleep(viper.GetDuration("sleep"))
}
}