github.com/gogf/gf@v1.16.9/.example/net/gtcp/pkg_operations/gtcp_empty_data.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"time"
     6  
     7  	"github.com/gogf/gf/net/gtcp"
     8  	"github.com/gogf/gf/os/glog"
     9  )
    10  
    11  func main() {
    12  	// Server
    13  	go gtcp.NewServer("127.0.0.1:8999", func(conn *gtcp.Conn) {
    14  		defer conn.Close()
    15  		for {
    16  			data, err := conn.RecvPkg()
    17  			if err != nil {
    18  				fmt.Println(err)
    19  				break
    20  			}
    21  			fmt.Println("RecvPkg:", string(data))
    22  		}
    23  	}).Run()
    24  
    25  	time.Sleep(time.Second)
    26  
    27  	// Client
    28  	conn, err := gtcp.NewConn("127.0.0.1:8999")
    29  	if err != nil {
    30  		panic(err)
    31  	}
    32  	defer conn.Close()
    33  	for i := 0; i < 10000; i++ {
    34  		if err := conn.SendPkg(nil); err != nil {
    35  			glog.Error(err)
    36  		}
    37  		time.Sleep(1 * time.Second)
    38  	}
    39  }