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