github.com/qiuhoude/go-web@v0.0.0-20220223060959-ab545e78f20d/prepare/00_net/tcp/client/client_tcp.go (about) 1 package main 2 3 import ( 4 "fmt" 5 6 "net" 7 "os" 8 ) 9 10 func main() { 11 var buf [512]byte 12 port := ":5000" 13 tcpAddr, err := net.ResolveTCPAddr("tcp4", port) 14 checkErr(err) 15 conn, err := net.DialTCP("tcp", nil, tcpAddr) 16 checkErr(err) 17 defer conn.Close() 18 rAddr := conn.RemoteAddr() 19 n, err := conn.Write([]byte("Hello server!")) 20 checkErr(err) 21 n, err = conn.Read(buf[0:]) 22 checkErr(err) 23 fmt.Println("Reply from server ", rAddr.String(), string(buf[0:n])) 24 os.Exit(0) 25 26 } 27 28 func checkErr(err error) { 29 if err != nil { 30 fmt.Fprintf(os.Stderr, "Fatal error: %s", err.Error()) 31 os.Exit(1) 32 } 33 }