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

     1  package main
     2  
     3  import (
     4  	"encoding/json"
     5  
     6  	"github.com/gogf/gf/.example/net/gtcp/pkg_operations/monitor/types"
     7  	"github.com/gogf/gf/frame/g"
     8  	"github.com/gogf/gf/net/gtcp"
     9  	"github.com/gogf/gf/os/glog"
    10  	"github.com/gogf/gf/os/gtime"
    11  )
    12  
    13  func main() {
    14  	// 数据上报客户端
    15  	conn, err := gtcp.NewConn("127.0.0.1:8999")
    16  	if err != nil {
    17  		panic(err)
    18  	}
    19  	defer conn.Close()
    20  	// 使用JSON格式化数据字段
    21  	info, err := json.Marshal(types.NodeInfo{
    22  		Cpu:  float32(66.66),
    23  		Host: "localhost",
    24  		Ip: g.Map{
    25  			"etho": "192.168.1.100",
    26  			"eth1": "114.114.10.11",
    27  		},
    28  		MemUsed:  15560320,
    29  		MemTotal: 16333788,
    30  		Time:     int(gtime.Timestamp()),
    31  	})
    32  	if err != nil {
    33  		panic(err)
    34  	}
    35  	// 使用 SendRecvPkg 发送消息包并接受返回
    36  	if result, err := conn.SendRecvPkg(info); err != nil {
    37  		if err.Error() == "EOF" {
    38  			glog.Println("server closed")
    39  		}
    40  	} else {
    41  		glog.Println(string(result))
    42  	}
    43  }