Commit bca0b6f9ebe36234f503bec580fb46d861811ae5

Authored by zhangqijia
1 parent 5d9cf01c

重新加载plugin server.LoadPlugin

src/components/net/server.go
@@ -83,20 +83,12 @@ func (s *Server) OnClose(conn *Connection) { @@ -83,20 +83,12 @@ func (s *Server) OnClose(conn *Connection) {
83 83
84 func (s *Server) LoadPlugin() { 84 func (s *Server) LoadPlugin() {
85 //重新加载 85 //重新加载
86 - p, err:=plugin.Open(conf.GlobalConf.GameConf.PluginPath) 86 + _, err:=plugin.Open(conf.GlobalConf.GameConf.PluginPath)
87 if err != nil { 87 if err != nil {
88 logger.Error("load plugin err: %v", err) 88 logger.Error("load plugin err: %v", err)
89 return 89 return
90 } 90 }
91 - symboll, err := p.Lookup("LoadRpc")  
92 - if err != nil {  
93 - logger.Error("plugin symbol err: %v", err)  
94 - return  
95 - }  
96 - if x, ok := symboll.(func()); ok {  
97 - x()  
98 - logger.Debug("load plugin success")  
99 - } 91 + logger.Debug("load plugin success")
100 } 92 }
101 93
102 func (s *Server)Start() error { 94 func (s *Server)Start() error {
src/plugin/protocode.go
@@ -6,15 +6,12 @@ import ( @@ -6,15 +6,12 @@ import (
6 "pro2d/src/components/net" 6 "pro2d/src/components/net"
7 ) 7 )
8 8
9 -func LoadRpc() { 9 +func init() {
10 logger.Debug("init protocode...") 10 logger.Debug("init protocode...")
11 net.ActionMap = make(map[pb.ProtoCode]net.ActionHandler) 11 net.ActionMap = make(map[pb.ProtoCode]net.ActionHandler)
  12 +
12 net.ActionMap[pb.ProtoCode_HeartRpc] = HeartRpc 13 net.ActionMap[pb.ProtoCode_HeartRpc] = HeartRpc
13 net.ActionMap[pb.ProtoCode_LoginRpc] = LoginRpc 14 net.ActionMap[pb.ProtoCode_LoginRpc] = LoginRpc
14 net.ActionMap[pb.ProtoCode_CreateRpc] = CreateRpc 15 net.ActionMap[pb.ProtoCode_CreateRpc] = CreateRpc
15 16
16 } 17 }
17 -  
18 -func init() {  
19 - LoadRpc()  
20 -}  
21 \ No newline at end of file 18 \ No newline at end of file
tools/protostostruct.go
@@ -14,7 +14,7 @@ var ( @@ -14,7 +14,7 @@ var (
14 ProtoCode = "syntax = \"proto3\";\noption go_package = \"./pb;pb\";\n\npackage protocode;\n\nenum ProtoCode\n{\n UNKNOWN = 0x000;\n %s\n}" 14 ProtoCode = "syntax = \"proto3\";\noption go_package = \"./pb;pb\";\n\npackage protocode;\n\nenum ProtoCode\n{\n UNKNOWN = 0x000;\n %s\n}"
15 ProtoCodeLine = "\t%sRpc = %02x;\n" 15 ProtoCodeLine = "\t%sRpc = %02x;\n"
16 16
17 - GoProtoCodeStr = "package main\n\nimport (\n\t\"pro2d/protos/pb\"\n\t\"pro2d/src/components/logger\"\n\t\"pro2d/src/components/net\"\n)\n\nfunc LoadRpc() {\n\tlogger.Debug(\"init protocode...\")\n\tnet.ActionMap = make(map[pb.ProtoCode]net.ActionHandler)\n%s\n}\n\nfunc init() {\n\tLoadRpc()\n}" 17 + GoProtoCodeStr = "package main\n\nimport (\n\t\"pro2d/protos/pb\"\n\t\"pro2d/src/components/logger\"\n\t\"pro2d/src/components/net\"\n)\n\nfunc init() {\n\tlogger.Debug(\"init protocode...\")\n\tnet.ActionMap = make(map[pb.ProtoCode]net.ActionHandler)\n\n%s\n}\n"
18 GoProtoCodeLine = "\tnet.ActionMap[pb.ProtoCode_%sRpc] = %sRpc\n" 18 GoProtoCodeLine = "\tnet.ActionMap[pb.ProtoCode_%sRpc] = %sRpc\n"
19 ) 19 )
20 20