MCPcopy
hub / github.com/aceld/zinx / main

Function main

examples/zinx_version_ex/datapackDemo/client/client.go:9–52  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

7)
8
9func 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}

Callers

nothing calls this directly

Calls 3

PackMethod · 0.95
NewDataPackFunction · 0.92
WriteMethod · 0.80

Tested by

no test coverage detected