Blame view

cmd/test/client.go 1.32 KB
ee23102d   zhangqijia   支持mongo, grpc接服务器
1
2
3
  package main
  
  import (
98b0736d   zhangqijia   添加定时器, 检查心跳
4
  	"bufio"
fee11bff   zhangqijia   客户端无法使用grpc热更,不用g...
5
6
  	"bytes"
  	"encoding/binary"
5d9cf01c   zhangqijia   plugin 热更
7
  	"github.com/golang/protobuf/proto"
fee11bff   zhangqijia   客户端无法使用grpc热更,不用g...
8
  	"net"
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
9
  	"pro2d/common/components"
765431a4   zhangqijia   增加schema接口, 抽象 mo...
10
  	"pro2d/common/logger"
7f269318   zhangqijia   add pb.go; 添加关闭连接...
11
  	"pro2d/pb"
98b0736d   zhangqijia   添加定时器, 检查心跳
12
  	"time"
ee23102d   zhangqijia   支持mongo, grpc接服务器
13
14
  )
  
fee11bff   zhangqijia   客户端无法使用grpc热更,不用g...
15
  func main() {
ee23102d   zhangqijia   支持mongo, grpc接服务器
16
  
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
17
  	head := &components.PBHead{
fee11bff   zhangqijia   客户端无法使用grpc热更,不用g...
18
  		Length:   0,
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
19
  		Cmd:      uint32(pb.ProtoCode_LoginReq),
fee11bff   zhangqijia   客户端无法使用grpc热更,不用g...
20
21
  		ErrCode:  0,
  		PreField: 0,
ee23102d   zhangqijia   支持mongo, grpc接服务器
22
  	}
ee23102d   zhangqijia   支持mongo, grpc接服务器
23
  
5d9cf01c   zhangqijia   plugin 热更
24
25
26
27
28
  	loginReq := &pb.LoginReq{
  		Uid:    "141815055745814528",
  		Device: "123123",
  	}
  	l, _ :=proto.Marshal(loginReq)
88e31175   zhangqijia   grpc 增加tls, 使用san证书
29
  
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
30
  	b := components.PBMessage{
fee11bff   zhangqijia   客户端无法使用grpc热更,不用g...
31
  		Head: head,
5d9cf01c   zhangqijia   plugin 热更
32
  		Body: l,
88e31175   zhangqijia   grpc 增加tls, 使用san证书
33
  	}
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
34
  	head.Length = uint32(16 + len(b.Body))
fee11bff   zhangqijia   客户端无法使用grpc热更,不用g...
35
36
  	buf := &bytes.Buffer{}
  	err := binary.Write(buf, binary.BigEndian, head)
ee23102d   zhangqijia   支持mongo, grpc接服务器
37
  	if err != nil {
cad2b7f3   zhangqijia   reactor: 重构目录, 重构...
38
  		logger.Error("err: %v, head: %v", err, head)
ee23102d   zhangqijia   支持mongo, grpc接服务器
39
40
  		return
  	}
cad2b7f3   zhangqijia   reactor: 重构目录, 重构...
41
  	logger.Debug("head: %v", head)
ee23102d   zhangqijia   支持mongo, grpc接服务器
42
  
fee11bff   zhangqijia   客户端无法使用grpc热更,不用g...
43
  	err = binary.Write(buf, binary.BigEndian, b.Body)
ee23102d   zhangqijia   支持mongo, grpc接服务器
44
  	if err != nil {
cad2b7f3   zhangqijia   reactor: 重构目录, 重构...
45
  		logger.Error("err: %v, msg: %v", err, b.Body)
ee23102d   zhangqijia   支持mongo, grpc接服务器
46
47
  		return
  	}
ee23102d   zhangqijia   支持mongo, grpc接服务器
48
  
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
49
  	client, err := net.Dial("tcp", "localhost:8850")
1584eb4b   zhangqijia   修复创建唯一索引的bug
50
  	if err != nil {
cad2b7f3   zhangqijia   reactor: 重构目录, 重构...
51
  		logger.Error(err)
1584eb4b   zhangqijia   修复创建唯一索引的bug
52
53
  		return
  	}
98b0736d   zhangqijia   添加定时器, 检查心跳
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
  
  	rd := bufio.NewReadWriter(bufio.NewReader(client), bufio.NewWriter(client))
  	for  {
  		b1 := make([]byte, 1024)
  		n, err := rd.Write(buf.Bytes())
  		if err != nil {
  			logger.Error(err)
  			return
  		}
  		rd.Flush()
  		logger.Debug("write:n: %d, msg: %s", n, buf.Bytes())
  
  		n, err = rd.Read(b1)
  		if err != nil {
  			logger.Error(err)
  			return
  		}
  		logger.Debug("recv: %s, n: %d\n", b1, n)
2e0aa298   zhangqijia   update 每条连接新增一条协程...
72
  		time.Sleep(1*time.Second)
98b0736d   zhangqijia   添加定时器, 检查心跳
73
74
  	}
  
88e31175   zhangqijia   grpc 增加tls, 使用san证书
75
  }