9644352a
zhangqijia
登录服改为http,游戏服改为长连...
|
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
)
func ProtoToCode(readPath, filename string) (string, string) {
protofile , err := os.Open(readPath+filename)
code := 0x000
protoData := ""
goProtoData := ""
if err != nil {
fmt.Errorf("ReadExcel|xlsx.OpenFile is err :%v", err)
return "", ""
}
defer protofile.Close()
r := bufio.NewReader(protofile)
for {
line, isPrefix, err := r.ReadLine()
if len(line) > 0 && err != nil {
fmt.Errorf("ReadLine returned both data and error: %s", err)
return "", ""
}
if isPrefix {
fmt.Errorf("ReadLine returned prefix")
return "", ""
}
if err != nil {
if err != io.EOF {
fmt.Errorf("Got unknown error: %s", err)
return "", ""
}
break
}
n := bytes.Index(line, []byte("message"))
if n < 0 {
continue
}
lb := bytes.Split(line, []byte(" "))
for _, v := range lb {
n = bytes.Index(v, []byte("Req"))
if n < 0 {
continue
}
code++
protoData += fmt.Sprintf(ProtoCodeLine, v[:n],code)
goProtoData += fmt.Sprintf(GoProtoCodeLine, v[:n], v[:n])
}
}
return protoData ,goProtoData
}
func ReadProtos(readPath, OutPath string ) error {
files, err := ioutil.ReadDir(readPath)
if err != nil {
return fmt.Errorf("ReadExcel|ReadDir is err:%v", err)
}
protoData, goProtoData := "", ""
for _, file := range files {
if path.Ext(file.Name()) != ".proto"{
continue
}
tprotoData, tgoProtoData := ProtoToCode(readPath, file.Name())
if tprotoData == "" || tgoProtoData == "" {
continue
}
protoData += tprotoData
goProtoData += tgoProtoData
}
fw, err := os.OpenFile( OutPath+"protos/protocode.proto", os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644)
if err != nil {
return fmt.Errorf("WriteNewFile|OpenFile is err:%v", err)
}
defer fw.Close()
_, err = fw.Write([]byte(fmt.Sprintf(ProtoCode, protoData)))
if err != nil {
return fmt.Errorf("WriteNewFile|Write is err:%v", err)
}
|
9644352a
zhangqijia
登录服改为http,游戏服改为长连...
|
102
103
104
105
106
107
108
109
110
111
112
|
if err != nil {
return fmt.Errorf("WriteNewFile|OpenFile is err:%v", err)
}
defer fw.Close()
_, err = fw.Write([]byte(fmt.Sprintf(GoProtoCodeStr, goProtoData)))
if err != nil {
return fmt.Errorf("WriteNewFile|Write is err:%v", err)
}
return nil
}
|