tcp 组件
最后更新于:2022-04-02 02:48:54
[TOC]
## 消息包处理
默认协议为头部 16字节
`数据长度(16bit)|数据字段(变长)`
### 自定义协议头长度
详情
```
func main() {
option := gtcp.PkgOption{
HeaderSize: 2, //调整头部字节长度 2 个字节
}
// Server
go gtcp.NewServer("127.0.0.1:8999", func(conn *gtcp.Conn) {
defer conn.Close()
for {
data, err := conn.RecvPkg(option)
if err != nil {
fmt.Println(err)
break
}
fmt.Println("receive:", data)
}
}).Run()
time.Sleep(time.Second)
// Client
conn, err := gtcp.NewConn("127.0.0.1:8999")
if err != nil {
panic(err)
}
defer conn.Close()
//添加包数据
var a []byte
for i:=0; i<2048; i++ {
a =append(a,byte(i))
}
for i := 0; i < 10000; i++ {
if err := conn.SendPkg(a,option); err != nil {
glog.Error(err)
}
time.Sleep(1*time.Second)
}
}
```
';