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 }