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  }