()
| 7 | ) |
| 8 | |
| 9 | func main() { |
| 10 | //客户端goroutine,负责模拟粘包的数据,然后进行发送 |
| 11 | conn, err := net.Dial("tcp", "127.0.0.1:7777") |
| 12 | if err != nil { |
| 13 | fmt.Println("client dial err:", err) |
| 14 | return |
| 15 | } |
| 16 | |
| 17 | //创建一个封包对象 dp |
| 18 | dp := zpack.NewDataPack() |
| 19 | |
| 20 | //封装一个msg1包 |
| 21 | msg1 := &zpack.Message{ |
| 22 | ID: 0, |
| 23 | DataLen: 5, |
| 24 | Data: []byte{'h', 'e', 'l', 'l', 'o'}, |
| 25 | } |
| 26 | |
| 27 | sendData1, err := dp.Pack(msg1) |
| 28 | if err != nil { |
| 29 | fmt.Println("client pack msg1 err:", err) |
| 30 | return |
| 31 | } |
| 32 | |
| 33 | msg2 := &zpack.Message{ |
| 34 | ID: 1, |
| 35 | DataLen: 7, |
| 36 | Data: []byte{'w', 'o', 'r', 'l', 'd', '!', '!'}, |
| 37 | } |
| 38 | sendData2, err := dp.Pack(msg2) |
| 39 | if err != nil { |
| 40 | fmt.Println("client temp msg2 err:", err) |
| 41 | return |
| 42 | } |
| 43 | |
| 44 | //将sendData1,和 sendData2 拼接一起,组成粘包 |
| 45 | sendData1 = append(sendData1, sendData2...) |
| 46 | |
| 47 | //向服务器端写数据 |
| 48 | conn.Write(sendData1) |
| 49 | |
| 50 | //客户端阻塞 |
| 51 | select {} |
| 52 | } |
nothing calls this directly
no test coverage detected